diff --git a/docs/images/architecture-docker-compose.png b/docs/images/architecture-docker-compose.png
index 1446bf13c31785a2ffe0bd7ead14e239c1e944e8..c371e2adb6d182a12c4d9244b698cbd926d7f649 100644
Binary files a/docs/images/architecture-docker-compose.png and b/docs/images/architecture-docker-compose.png differ
diff --git a/docs/images/architecture-docker-compose.svg b/docs/images/architecture-docker-compose.svg
index bf12cbe9e518e3c478af4a274179ae43dadcda3c..f40890517757248c1516d427c88eb365be8ad3b3 100644
--- a/docs/images/architecture-docker-compose.svg
+++ b/docs/images/architecture-docker-compose.svg
@@ -1,3 +1,3 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="840px" height="559px" viewBox="-0.5 -0.5 840 559" style="background-color: rgb(255, 255, 255);"><defs/><g><path d="M 369 90.37 L 369 108 L 368.63 125.63" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 369 85.12 L 372.5 92.12 L 369 90.37 L 365.5 92.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 368.52 130.88 L 365.17 123.81 L 368.63 125.63 L 372.17 123.96 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="369.5" cy="7.5" rx="7.5" ry="7.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><path d="M 369.5 15 L 369.5 40 M 369.5 20 L 354.5 20 M 369.5 20 L 384.5 20 M 369.5 40 L 354.5 60 M 369.5 40 L 384.5 60" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 67px; margin-left: 370px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">Researcher</div></div></div></foreignObject><text x="370" y="79" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Resea...</text></switch></g><path d="M 297.13 152 L 267.37 152" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 302.38 152 L 295.38 155.5 L 297.13 152 L 295.38 148.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 262.12 152 L 269.12 148.5 L 267.37 152 L 269.12 155.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 336 172 L 336 200 L 196 200 L 196 221.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 196 226.88 L 192.5 219.88 L 196 221.63 L 199.5 219.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 401 172 L 401 200 L 546 200 L 546 221.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 546 226.88 L 542.5 219.88 L 546 221.63 L 549.5 219.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 368.5 178.37 L 368.5 221.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 368.5 173.12 L 372 180.12 L 368.5 178.37 L 365 180.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 368.5 226.88 L 365 219.88 L 368.5 221.63 L 372 219.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 336 178.37 L 336 200 L 283 200 L 283 294 L 196 294 L 196 317.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 336 173.12 L 339.5 180.12 L 336 178.37 L 332.5 180.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 196 322.88 L 192.5 315.88 L 196 317.63 L 199.5 315.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 439.87 152 L 474.63 152" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 434.62 152 L 441.62 148.5 L 439.87 152 L 441.62 155.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 479.88 152 L 472.88 155.5 L 474.63 152 L 472.88 148.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 401 178.37 L 401 200 L 459 200 L 459 294 L 546 294 L 546 317.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 401 173.12 L 404.5 180.12 L 401 178.37 L 397.5 180.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 546 322.88 L 542.5 315.88 L 546 317.63 L 549.5 315.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="303.5" y="132" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 152px; margin-left: 305px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Gateway Service</div></div></div></foreignObject><text x="369" y="156" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Gateway Service</text></switch></g><rect x="303.5" y="228" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 248px; margin-left: 305px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Analyse Service</div></div></div></foreignObject><text x="369" y="252" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Analyse Service</text></switch></g><path d="M 196 370.37 L 196 397.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 196 365.12 L 199.5 372.12 L 196 370.37 L 192.5 372.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 196 402.88 L 192.5 395.88 L 196 397.63 L 199.5 395.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="131" y="324" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 344px; margin-left: 132px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Authentication Service<br />(Keycloak)</div></div></div></foreignObject><text x="196" y="348" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Authentication Servic...</text></switch></g><path d="M 546 370.37 L 546 397.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 546 365.12 L 549.5 372.12 L 546 370.37 L 542.5 372.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 546 402.88 L 542.5 395.88 L 546 397.63 L 549.5 395.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 617.37 344 L 654.63 344" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 612.12 344 L 619.12 340.5 L 617.37 344 L 619.12 347.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 659.88 344 L 652.88 347.5 L 654.63 344 L 652.88 340.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="481" y="324" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 344px; margin-left: 482px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Metadata Service</div></div></div></foreignObject><text x="546" y="348" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Metadata Service</text></switch></g><rect x="131" y="228" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 248px; margin-left: 132px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Broker Service<br />(RabbitMQ)</div></div></div></foreignObject><text x="196" y="252" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Broker Service...</text></switch></g><path d="M 617.37 248 L 654.63 248" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 612.12 248 L 619.12 244.5 L 617.37 248 L 619.12 251.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 659.88 248 L 652.88 251.5 L 654.63 248 L 652.88 244.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="481" y="228" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 248px; margin-left: 482px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Search Service</div></div></div></foreignObject><text x="546" y="252" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Search Service</text></switch></g><rect x="131" y="132" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 152px; margin-left: 132px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">UI</div></div></div></foreignObject><text x="196" y="156" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">UI</text></switch></g><path d="M 661 224.6 C 661 219.85 672.19 216 686 216 C 692.63 216 698.99 216.91 703.68 218.52 C 708.37 220.13 711 222.32 711 224.6 L 711 271.4 C 711 276.15 699.81 280 686 280 C 672.19 280 661 276.15 661 271.4 Z" fill="#dae8fc" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 711 224.6 C 711 229.35 699.81 233.2 686 233.2 C 672.19 233.2 661 229.35 661 224.6" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="643.5" y="280" width="85" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 89px; height: 1px; padding-top: 290px; margin-left: 642px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">search-db</div></div></div></foreignObject><text x="686" y="294" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">search-db</text></switch></g><path d="M 717.37 344 L 771 344" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 712.12 344 L 719.12 340.5 L 717.37 344 L 719.12 347.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 661 320.6 C 661 315.85 672.19 312 686 312 C 692.63 312 698.99 312.91 703.68 314.52 C 708.37 316.13 711 318.32 711 320.6 L 711 367.4 C 711 372.15 699.81 376 686 376 C 672.19 376 661 372.15 661 367.4 Z" fill="#dae8fc" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 711 320.6 C 711 325.35 699.81 329.2 686 329.2 C 672.19 329.2 661 325.35 661 320.6" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="643.5" y="376" width="85" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 89px; height: 1px; padding-top: 386px; margin-left: 642px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">metadata-db</div></div></div></foreignObject><text x="686" y="390" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">metadata-db</text></switch></g><path d="M 521 412.6 C 521 407.85 532.19 404 546 404 C 552.63 404 558.99 404.91 563.68 406.52 C 568.37 408.13 571 410.32 571 412.6 L 571 459.4 C 571 464.15 559.81 468 546 468 C 532.19 468 521 464.15 521 459.4 Z" fill="#dae8fc" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 571 412.6 C 571 417.35 559.81 421.2 546 421.2 C 532.19 421.2 521 417.35 521 412.6" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="503.5" y="468" width="85" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 89px; height: 1px; padding-top: 478px; margin-left: 502px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">data-db</div></div></div></foreignObject><text x="546" y="482" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">data-db</text></switch></g><path d="M 171 412.6 C 171 407.85 182.19 404 196 404 C 202.63 404 208.99 404.91 213.68 406.52 C 218.37 408.13 221 410.32 221 412.6 L 221 459.4 C 221 464.15 209.81 468 196 468 C 182.19 468 171 464.15 171 459.4 Z" fill="#dae8fc" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 221 412.6 C 221 417.35 209.81 421.2 196 421.2 C 182.19 421.2 171 417.35 171 412.6" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="153.5" y="468" width="85" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 89px; height: 1px; padding-top: 478px; margin-left: 152px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">auth-db</div></div></div></foreignObject><text x="196" y="482" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">auth-db</text></switch></g><rect x="481" y="132" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 152px; margin-left: 482px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Upload Service<br />(tusd)</div></div></div></foreignObject><text x="546" y="156" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Upload Service...</text></switch></g><rect x="731.5" y="358" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 368px; margin-left: 730px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">metadata-db-data</div></div></div></foreignObject><text x="786" y="372" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">metadata-db-data</text></switch></g><ellipse cx="785.5" cy="344" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><rect x="731.5" y="262" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 272px; margin-left: 730px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">search-db-data</div></div></div></foreignObject><text x="786" y="276" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">search-db-data</text></switch></g><path d="M 771.5 248 L 717.37 248" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 712.12 248 L 719.12 244.5 L 717.37 248 L 719.12 251.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="785.5" cy="248" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><rect x="492" y="538" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 548px; margin-left: 490px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">data-db-data</div></div></div></foreignObject><text x="546" y="552" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">data-db-data</text></switch></g><path d="M 546 510 L 546 490 L 546 508 L 546 494.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 546 489.12 L 549.5 496.12 L 546 494.37 L 542.5 496.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="546" cy="524" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><path d="M 196 510 L 196 494.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 196 489.12 L 199.5 496.12 L 196 494.37 L 192.5 496.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="196" cy="524" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><rect x="142" y="538" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 548px; margin-left: 140px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">auth-db-data</div></div></div></foreignObject><text x="196" y="552" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">auth-db-data</text></switch></g><path d="M 70 248 L 124.63 248" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 129.88 248 L 122.88 251.5 L 124.63 248 L 122.88 244.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="56" cy="248" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><rect x="2" y="262" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 272px; margin-left: 0px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">broker-service-data</div></div></div></foreignObject><text x="56" y="276" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">broker-service-data</text></switch></g><path d="M 70 344 L 124.63 344" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 129.88 344 L 122.88 347.5 L 124.63 344 L 122.88 340.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="56" cy="344" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><rect x="2" y="364" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 374px; margin-left: 0px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">authentication-service-data</div></div></div></foreignObject><text x="56" y="378" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">authentication-serv...</text></switch></g><path d="M 672 152 L 617.37 152" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 612.12 152 L 619.12 148.5 L 617.37 152 L 619.12 155.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="686" cy="152" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><rect x="632" y="166" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 176px; margin-left: 630px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">upload-service-data</div></div></div></foreignObject><text x="686" y="180" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">upload-service-data</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
\ No newline at end of file
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="710px" height="669px" viewBox="-0.5 -0.5 710 669"><defs/><g><path d="M 238.01 90.37 L 238.03 108 L 237.64 125.63" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 238 85.12 L 241.51 92.11 L 238.01 90.37 L 234.51 92.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 237.52 130.88 L 234.18 123.81 L 237.64 125.63 L 241.18 123.96 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="238.5" cy="7.5" rx="7.5" ry="7.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><path d="M 238.5 15 L 238.5 40 M 238.5 20 L 223.5 20 M 238.5 20 L 253.5 20 M 238.5 40 L 223.5 60 M 238.5 40 L 253.5 60" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 67px; margin-left: 239px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">Researcher</div></div></div></foreignObject><text x="239" y="79" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Resea...</text></switch></g><path d="M 166.13 152 L 136.37 152" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 171.38 152 L 164.38 155.5 L 166.13 152 L 164.38 148.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 131.12 152 L 138.12 148.5 L 136.37 152 L 138.12 155.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 152px; margin-left: 151px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">HTTP</div></div></div></foreignObject><text x="151" y="155" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">HTTP</text></switch></g><path d="M 205 172 L 205 200 L 65 200 L 65 221.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 65 226.88 L 61.5 219.88 L 65 221.63 L 68.5 219.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 270 172 L 270.03 200 L 415 200 L 415 221.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 415 226.88 L 411.5 219.88 L 415 221.63 L 418.5 219.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 237.5 178.37 L 237.5 221.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 237.5 173.12 L 241 180.12 L 237.5 178.37 L 234 180.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 237.5 226.88 L 234 219.88 L 237.5 221.63 L 241 219.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 200px; margin-left: 238px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">HTTP</div></div></div></foreignObject><text x="238" y="203" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">HTTP</text></switch></g><path d="M 205 178.37 L 205 200 L 152.03 200 L 152.03 294 L 65 294 L 65 317.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 205 173.12 L 208.5 180.12 L 205 178.37 L 201.5 180.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 65 322.88 L 61.5 315.88 L 65 317.63 L 68.5 315.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 200px; margin-left: 181px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">HTTP</div></div></div></foreignObject><text x="181" y="203" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">HTTP</text></switch></g><path d="M 308.87 152 L 343.63 152" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 303.62 152 L 310.62 148.5 L 308.87 152 L 310.62 155.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 348.88 152 L 341.88 155.5 L 343.63 152 L 341.88 148.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 152px; margin-left: 326px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">TUSD</div></div></div></foreignObject><text x="326" y="155" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">TUSD</text></switch></g><path d="M 270.01 178.37 L 270.03 200 L 328.03 200 L 328.03 394 L 415 394 L 415 413.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 270 173.12 L 273.51 180.11 L 270.01 178.37 L 266.51 180.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 415 418.88 L 411.5 411.88 L 415 413.63 L 418.5 411.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 199px; margin-left: 294px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">HTTP</div></div></div></foreignObject><text x="294" y="202" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">HTTP</text></switch></g><rect x="172.5" y="132" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 152px; margin-left: 174px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Gateway Service</div></div></div></foreignObject><text x="238" y="156" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Gateway Service</text></switch></g><rect x="172.5" y="228" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 248px; margin-left: 174px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Analyse Service</div></div></div></foreignObject><text x="238" y="252" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Analyse Service</text></switch></g><path d="M 65 370.37 L 65 397.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 65 365.12 L 68.5 372.12 L 65 370.37 L 61.5 372.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 65 402.88 L 61.5 395.88 L 65 397.63 L 68.5 395.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="0" y="324" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 344px; margin-left: 1px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Authentication Service<br />(Keycloak)</div></div></div></foreignObject><text x="65" y="348" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Authentication Servic...</text></switch></g><path d="M 415 466.37 L 415 507.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 415 461.12 L 418.5 468.12 L 415 466.37 L 411.5 468.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 415 512.88 L 411.5 505.88 L 415 507.63 L 418.5 505.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 486.37 440 L 523.63 440" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 481.12 440 L 488.12 436.5 L 486.37 440 L 488.12 443.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 528.88 440 L 521.88 443.5 L 523.63 440 L 521.88 436.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 440px; margin-left: 504px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">JDBC</div></div></div></foreignObject><text x="504" y="443" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">JDBC</text></switch></g><rect x="350" y="420" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 440px; margin-left: 351px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Metadata Service</div></div></div></foreignObject><text x="415" y="444" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Metadata Service</text></switch></g><path d="M 130 248 L 149.03 248 C 149.03 244.1 155.03 244.1 155.03 248 L 155.03 248 L 160.03 248 L 160.03 394 L 238.49 394 L 238.5 413.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="1 1" pointer-events="stroke"/><path d="M 238.5 418.88 L 235 411.88 L 238.5 413.63 L 242 411.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 394px; margin-left: 200px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Spring AMQP</div></div></div></foreignObject><text x="200" y="397" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">Spring AMQP</text></switch></g><rect x="0" y="228" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 248px; margin-left: 1px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Broker Service<br />(RabbitMQ)</div></div></div></foreignObject><text x="65" y="252" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Broker Service...</text></switch></g><path d="M 486.37 248 L 523.63 248" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 481.12 248 L 488.12 244.5 L 486.37 248 L 488.12 251.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 528.88 248 L 521.88 251.5 L 523.63 248 L 521.88 244.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 248px; margin-left: 505px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">HTTP</div></div></div></foreignObject><text x="505" y="251" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">HTTP</text></switch></g><rect x="350" y="228" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 248px; margin-left: 351px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Search Service</div></div></div></foreignObject><text x="415" y="252" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Search Service</text></switch></g><rect x="0" y="132" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 152px; margin-left: 1px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">UI</div></div></div></foreignObject><text x="65" y="156" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">UI</text></switch></g><path d="M 530 224.6 C 530 219.85 541.19 216 555 216 C 561.63 216 567.99 216.91 572.68 218.52 C 577.37 220.13 580 222.32 580 224.6 L 580 271.4 C 580 276.15 568.81 280 555 280 C 541.19 280 530 276.15 530 271.4 Z" fill="#dae8fc" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 580 224.6 C 580 229.35 568.81 233.2 555 233.2 C 541.19 233.2 530 229.35 530 224.6" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 586.37 440 L 640 440" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 581.12 440 L 588.12 436.5 L 586.37 440 L 588.12 443.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 530 416.6 C 530 411.85 541.19 408 555 408 C 561.63 408 567.99 408.91 572.68 410.52 C 577.37 412.13 580 414.32 580 416.6 L 580 463.4 C 580 468.15 568.81 472 555 472 C 541.19 472 530 468.15 530 463.4 Z" fill="#dae8fc" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 580 416.6 C 580 421.35 568.81 425.2 555 425.2 C 541.19 425.2 530 421.35 530 416.6" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="512.5" y="472" width="85" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 89px; height: 1px; padding-top: 482px; margin-left: 511px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">metadata-db</div></div></div></foreignObject><text x="555" y="486" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">metadata-db</text></switch></g><path d="M 390 522.6 C 390 517.85 401.19 514 415 514 C 421.63 514 427.99 514.91 432.68 516.52 C 437.37 518.13 440 520.32 440 522.6 L 440 569.4 C 440 574.15 428.81 578 415 578 C 401.19 578 390 574.15 390 569.4 Z" fill="#dae8fc" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 440 522.6 C 440 527.35 428.81 531.2 415 531.2 C 401.19 531.2 390 527.35 390 522.6" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="372.5" y="578" width="85" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 89px; height: 1px; padding-top: 588px; margin-left: 371px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">data-db</div></div></div></foreignObject><text x="415" y="592" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">data-db</text></switch></g><path d="M 40 412.6 C 40 407.85 51.19 404 65 404 C 71.63 404 77.99 404.91 82.68 406.52 C 87.37 408.13 90 410.32 90 412.6 L 90 459.4 C 90 464.15 78.81 468 65 468 C 51.19 468 40 464.15 40 459.4 Z" fill="#dae8fc" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 90 412.6 C 90 417.35 78.81 421.2 65 421.2 C 51.19 421.2 40 417.35 40 412.6" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="22.5" y="468" width="85" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 89px; height: 1px; padding-top: 478px; margin-left: 21px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">auth-db</div></div></div></foreignObject><text x="65" y="482" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">auth-db</text></switch></g><rect x="350" y="132" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 152px; margin-left: 351px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Upload Service<br />(tusd)</div></div></div></foreignObject><text x="415" y="156" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Upload Service...</text></switch></g><rect x="600.5" y="454" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 464px; margin-left: 599px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">metadata-db-data</div></div></div></foreignObject><text x="655" y="468" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">metadata-db-data</text></switch></g><ellipse cx="654.5" cy="440" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><rect x="600.5" y="262" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 272px; margin-left: 599px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">search-db-data</div></div></div></foreignObject><text x="655" y="276" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">search-db-data</text></switch></g><path d="M 640.5 248 L 586.37 248" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 581.12 248 L 588.12 244.5 L 586.37 248 L 588.12 251.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="654.5" cy="248" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><rect x="361" y="648" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 658px; margin-left: 359px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">data-db-data</div></div></div></foreignObject><text x="415" y="662" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">data-db-data</text></switch></g><path d="M 415 620 L 415 600 L 415 618 L 415 604.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 415 599.12 L 418.5 606.12 L 415 604.37 L 411.5 606.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="415" cy="634" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><path d="M 65 510 L 65 494.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 65 489.12 L 68.5 496.12 L 65 494.37 L 61.5 496.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="65" cy="524" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><rect x="11" y="538" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 548px; margin-left: 9px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">auth-db-data</div></div></div></foreignObject><text x="65" y="552" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">auth-db-data</text></switch></g><path d="M 541 152 L 486.37 152" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 481.12 152 L 488.12 148.5 L 486.37 152 L 488.12 155.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="555" cy="152" rx="14" ry="14" fill="#e1d5e7" stroke="#000000" pointer-events="all"/><rect x="501" y="166" width="108" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 112px; height: 1px; padding-top: 176px; margin-left: 499px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">upload-service-data</div></div></div></foreignObject><text x="555" y="180" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">upload-service-data</text></switch></g><path d="M 238.49 460 L 238.49 546 L 383.63 546" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 388.88 546 L 381.88 549.5 L 383.63 546 L 381.88 542.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 546px; margin-left: 271px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">JDBC</div></div></div></foreignObject><text x="271" y="549" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">JDBC</text></switch></g><rect x="173.5" y="420" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 440px; margin-left: 175px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Data Service</div></div></div></foreignObject><text x="239" y="444" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Data Service</text></switch></g><path d="M 480 344 L 555 344 L 555 286.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 555 281.12 L 558.5 288.12 L 555 286.37 L 551.5 288.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 323px; margin-left: 556px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">HTTP</div></div></div></foreignObject><text x="556" y="326" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">HTTP</text></switch></g><path d="M 480 344 L 555 344 L 555 401.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 555 406.88 L 551.5 399.88 L 555 401.63 L 558.5 399.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 374px; margin-left: 554px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 9px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">JDBC</div></div></div></foreignObject><text x="554" y="377" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="9px" text-anchor="middle">JDBC</text></switch></g><rect x="350" y="324" width="130" height="40" rx="6" ry="6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 344px; margin-left: 351px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Mirror Service</div></div></div></foreignObject><text x="415" y="348" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Mirror Service</text></switch></g><rect x="512.5" y="291" width="85" height="17" fill="rgb(255, 255, 255)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 89px; height: 1px; padding-top: 300px; margin-left: 511px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">search-db</div></div></div></foreignObject><text x="555" y="303" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">search-db</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
\ No newline at end of file
diff --git a/docs/system-services-authentication.md b/docs/system-services-authentication.md
index e279d0fcafe92e3db5e531466f578d37fb63828e..2c39395f329052a95f4acb9fe76280844f9b5f3c 100644
--- a/docs/system-services-authentication.md
+++ b/docs/system-services-authentication.md
@@ -4,25 +4,23 @@ author: Martin Weise
 
 # Authentication Service
 
+## tl;dr
+
 !!! debug "Debug Information"
 
-    * Ports: 8080/tcp, 8443/tcp
-    * Admin Console: `http://:8443/`
+    * Ports: 8080/tcp
+    * Admin Console: `http://:8080/api/auth/admin/`
+    * Health: `http://:8080/api/auth/health`
+    * Prometheus: `http://:8080/api/auth/metrics`
+
+## Overview
 
 Very specific to the deployment of the organization. In our reference implementation we implement a *security assertion
 markup language* (SAML) service provider and use our institutional SAML identity provider for obtaining account data
 through an encrypted channel.
 
 From version 1.2 onwards we use Keycloak for authentication and deprecated the previous Spring Boot application.
-Consequently,
-the authentication will be through Keycloak.
-
-!!! warning "Unsupported Keycloak features"
-
-    Due to no demand at the time, we currently do not support the following Keycloak features:
-
-    * E-Mail verification
-    * Temporary passwords
+Consequently, the authentication will be through Keycloak.
 
 By default, the Authentication Service comes with a self-signed certificate valid 3 months from build date. For
 deployment it is *highly encouraged* to use your own certificate, properly issued by a trusted PKI, e.g. G&#201;ANT. For
@@ -216,58 +214,13 @@ public ResponseEntity<DatabaseBriefDto> create(@NotNull Long containerId,
 | `update-semantic-concept`               | Can update own table column concept          |
 | `update-semantic-unit`                  | Can update own table column unit             |
 
-## API
-
-### Obtain Access Token
-
-Access tokens are needed for almost all operations.
-
-=== "Terminal"
-
-    ``` console
-    curl -X POST \
-      -d "username=foo&password=bar&grant_type=password&client_id=dbrepo-client&scope=openid&client_secret=MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG" \
-      http://localhost/api/auth/realms/dbrepo/protocol/openid-connect/token
-    ```
-
-=== "Python"
-
-    ``` py
-    import requests
-
-    auth = requests.post("http://localhost/api/auth/realms/dbrepo/protocol/openid-connect/token", data={
-        "username": "foo",
-        "password": "bar",
-        "grant_type": "password",
-        "client_id": "dbrepo-client",
-        "scope": "openid",
-        "client_secret": "MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG"
-    })
-    print(auth.json()["access_token"])
-    ```
-
-### Refresh Access Token
-
-Using the response from above, a new access token can be created via the refresh token provided.
-
-=== "Terminal"
-
-    ``` console
-    curl -X POST \
-      -d "grant_type=refresh_token&client_id=dbrepo-client&refresh_token=THE_REFRESH_TOKEN&client_secret=MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG" \
-      http://localhost/api/auth/realms/dbrepo/protocol/openid-connect/token
-    ```
+## Limitations
 
-=== "Python"
+* No support for sending e-mails through Keycloak 
+* No support for temporary passwords 
+* No support for multi-factor authentication
 
-    ``` py
-    import requests
+## Security
 
-    auth = requests.post("http://localhost/api/auth/realms/dbrepo/protocol/openid-connect/token", data={
-        "grant_type": "refresh_token",
-        "client_id": "dbrepo-client",
-        "client_secret": "MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG",
-        "refresh_token": "THE_REFRESH_TOKEN"
-    })
-    print(auth.json()["access_token"])
-    ```
+1. Mount your TLS certificate / private key pair into `/app/tls.crt` and `/app/tls.key` and 
+   set `KC_HTTPS_CERTIFICATE_FILE=/app/tls.crt` and set `KC_HTTPS_CERTIFICATE_KEY_FILE=/app/tls.key`.
diff --git a/docs/system-services-broker.md b/docs/system-services-broker.md
index 301f5c2d5b248eb85c18604b3cddce8aa143962f..30cfcf10eadd352f6f72627939c075310bae1f65 100644
--- a/docs/system-services-broker.md
+++ b/docs/system-services-broker.md
@@ -4,17 +4,46 @@ author: Martin Weise
 
 # Broker Service
 
+## tl;dr
+
 !!! debug "Debug Information"
 
     * Ports: 5672/tcp, 15672/tcp
     * RabbitMQ Management Plugin: `http://:15672`
     * RabbitMQ Prometheus Plugin: `http://:15692/metrics`
 
+## Overview
+
 It holds exchanges and topics responsible for holding AMQP messages for later consumption. We
-use [RabbitMQ](https://www.rabbitmq.com/) in the implementation. The AMQP endpoint listens to port `5672` for
-regular declares and offers a management interface at port `15672`.
+use [RabbitMQ](https://www.rabbitmq.com/) in the implementation. By default, the endpoint listens to the insecure port `5672` for incoming 
+AMQP tuples and insecure port `15672` for the management UI.
 
-The default credentials are:
+The default configuration creates a user with administrative privileges:
 
 * Username: `fda`
 * Password: `fda`
+* Roles: `["administrator"]`
+
+The Broker Service allows two ways of authentication:
+
+1. Plain
+2. OAuth2
+
+For detailed examples how to authenticate with the Broker Service see 
+the [usage](/infrastructures/dbrepo/latest/usage-broker) page.
+
+## Limitations
+
+* No support for MQTT messaging as the protocol does not support virtual hosts other than `/`.
+
+## Security
+
+For a secure deployment it is necessary to configure the Broker Service as follows:
+
+1. Download the [`rabbitmq.conf`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/dev/dbrepo-broker-service/rabbitmq.conf.secure) and
+   change the `default_user` and `default_pass` lines before mounting it to `/etc/rabbitmq/rabbitmq.conf`.
+2. Mount your previously generated certificate and RSA public key pair (PEM-encoded) to `/app/cert.pem` 
+   and `/app/pubkey.pem`. Note that these are *not* used for TLS encryption, but only for authentication of users. It
+   is not recommended to use "real" TLS certificates, self-signed certificates with *sufficient keylength* are best-practice.
+3. Mount your TLS certificate authority file into `/etc/rabbitmq/cacert.crt` and your TLS certificate / private key pair
+   into `/etc/tls/tls.crt` and `/etc/tls/tls.key`.
diff --git a/docs/system-services-gateway.md b/docs/system-services-gateway.md
index ae11a2b934ca8af802783819109d6f945882038c..fbe1ee828b5ed803626b0ef02490a7212408bbb6 100644
--- a/docs/system-services-gateway.md
+++ b/docs/system-services-gateway.md
@@ -4,12 +4,34 @@ author: Martin Weise
 
 # Gateway Service
 
+## tl;dr
+
 !!! debug "Debug Information"
 
-    * Ports: 9095/tcp
-    * Info: `http://:9095/actuator/info`
-    * Health: `http://:9095/actuator/health`
-    * Prometheus: `http://:9095/actuator/prometheus`
+    * Ports: 80/tcp, 443/tcp
+
+## Overview
 
 Provides a single point of access to the *application programming interface* (API) and configures a
 standard [NGINX](https://www.nginx.com/) reverse proxy for load balancing, SSL/TLS configuration.
+
+## Limitations
+
+(none)
+
+## Security
+
+1. Enable TLS encryption by downloading 
+   the [`dbrepo.conf`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/dev/dbrepo-gateway-service/dbrepo.conf)
+   and editing the *server* block to include your TLS certificate (with trust chain) `fullchain.pem` and TLS private key
+   `privkey.pem` (PEM-encoded).
+
+       ```nginx
+       server {
+         listen 443 ssl;
+         server_name _;
+         ssl_certificate     /etc/nginx/fullchain.pem;
+         ssl_certificate_key /etc/nginx/privkey.pem;
+         ...
+       }
+       ```
diff --git a/docs/system-services-metadata.md b/docs/system-services-metadata.md
index 15e3cc7f217448e22b317d5ccf589886f956eefa..c4a753cb34a509533fbc53cd1d3c51d9dc75f4ee 100644
--- a/docs/system-services-metadata.md
+++ b/docs/system-services-metadata.md
@@ -4,6 +4,8 @@ author: Martin Weise
 
 # Metadata Service
 
+## tl;dr
+
 !!! debug "Debug Information"
 
     * Ports: 9099/tcp
@@ -12,6 +14,8 @@ author: Martin Weise
     * Prometheus: `http://:9099/actuator/prometheus`
     * Swagger UI: `http://:9099/swagger-ui/index.html` <a href="/infrastructures/dbrepo/latest/swagger/metadata" target="_blank">:fontawesome-solid-square-up-right: view online</a>
 
+## Overview
+
 This microservice manages:
 
 * Databases
@@ -37,3 +41,11 @@ Service.
 
 This microservice handles table operations inside a database that is managed by the Database Service. We
 use [Hibernate](https://hibernate.org/orm/) for schema and data ingest operations.
+
+## Limitations
+
+(none)
+
+## Security
+
+(none)
diff --git a/docs/system-services-upload.md b/docs/system-services-upload.md
index 40f9d3d61c3c2a122df5e5addb1e895f217563c2..e1e370ce650eab5ff321a6960ffd1469839bdd29 100644
--- a/docs/system-services-upload.md
+++ b/docs/system-services-upload.md
@@ -4,24 +4,24 @@ author: Martin Weise
 
 # Upload Service
 
+## tl;dr
+
 !!! debug "Debug Information"
 
     * Ports: 1080/tcp
 
+## Overview
+
 Upload files using one of the official the TUSd clients:
 
 * [NodeJS / JavaScript](https://github.com/tus/tus-js-client)
 * [Java](https://github.com/tus/tus-java-client)
 * [Python](https://github.com/tus/tus-py-client)
 
-## Example (Python)
+## Limitations
+
+(none)
 
-Uploads a file `file.csv` in 200 byte chunks.
+## Security
 
-```python
-#!/bin/env python3
-from tusclient import client
-my_client = client.TusClient('http://localhost/api/upload/files')
-uploader = my_client.uploader('/path/to/file.csv', chunk_size=200)
-uploader.upload()
-```
+(none)
diff --git a/docs/usage-auth.md b/docs/usage-auth.md
new file mode 100644
index 0000000000000000000000000000000000000000..6b1967ca0544699a671db371855091046ba7e922
--- /dev/null
+++ b/docs/usage-auth.md
@@ -0,0 +1,60 @@
+---
+author: Martin Weise
+---
+
+# Authentication Service
+
+## Obtain Access Token
+
+Access tokens are needed for almost all operations.
+
+=== "Terminal"
+
+    ``` console
+    curl -X POST \
+      -d "username=foo&password=bar&grant_type=password&client_id=dbrepo-client&scope=openid&client_secret=MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG" \
+      http://localhost/api/auth/realms/dbrepo/protocol/openid-connect/token
+    ```
+
+=== "Python"
+
+    ``` py
+    import requests
+
+    auth = requests.post("http://localhost/api/auth/realms/dbrepo/protocol/openid-connect/token", data={
+        "username": "foo",
+        "password": "bar",
+        "grant_type": "password",
+        "client_id": "dbrepo-client",
+        "scope": "openid",
+        "client_secret": "MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG"
+    })
+    print(auth.json()["access_token"])
+    ```
+
+## Refresh Access Token
+
+Using the response from above, a new access token can be created via the refresh token provided.
+
+=== "Terminal"
+
+    ``` console
+    curl -X POST \
+      -d "grant_type=refresh_token&client_id=dbrepo-client&refresh_token=THE_REFRESH_TOKEN&client_secret=MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG" \
+      http://localhost/api/auth/realms/dbrepo/protocol/openid-connect/token
+    ```
+
+=== "Python"
+
+    ``` py
+    import requests
+
+    auth = requests.post("http://localhost/api/auth/realms/dbrepo/protocol/openid-connect/token", data={
+        "grant_type": "refresh_token",
+        "client_id": "dbrepo-client",
+        "client_secret": "MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG",
+        "refresh_token": "THE_REFRESH_TOKEN"
+    })
+    print(auth.json()["access_token"])
+    ```
+
diff --git a/docs/usage-upload.md b/docs/usage-upload.md
new file mode 100644
index 0000000000000000000000000000000000000000..d01050cb916abe7ae6484360ffc69be9aee6b700
--- /dev/null
+++ b/docs/usage-upload.md
@@ -0,0 +1,17 @@
+---
+author: Martin Weise
+---
+
+# Upload Service
+
+Uploads a file `file.csv` in 200 byte chunks.
+
+=== "Python"
+
+    ```python
+    #!/bin/env python3
+    from tusclient import client
+    my_client = client.TusClient('http://localhost/api/upload/files')
+    uploader = my_client.uploader('/path/to/file.csv', chunk_size=200)
+    uploader.upload()
+    ```
diff --git a/misc/.$architecture.drawio.dtmp b/misc/.$architecture.drawio.dtmp
new file mode 100644
index 0000000000000000000000000000000000000000..d8097370c86b1769a9157f955eb770cbd77ce5f9
--- /dev/null
+++ b/misc/.$architecture.drawio.dtmp
@@ -0,0 +1,2295 @@
+<mxfile host="Electron" modified="2023-10-09T07:59:29.614Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.1.2 Chrome/106.0.5249.199 Electron/21.4.3 Safari/537.36" etag="Td1kgXHoYxqYNfTozfBp" version="21.1.2" type="device" pages="5">
+  <diagram id="mvBsv1rP8O80Qe3yGnn_" name="docker-compose">
+    <mxGraphModel dx="1509" dy="865" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="45LT9Xtm5jvL1Omwo4Uv-6" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeColor=#000000;startArrow=classic;startFill=1;dashed=1;" parent="1" target="CohMdi7D_fRk0dSxzjYi-1" edge="1">
+          <mxGeometry x="-0.028" relative="1" as="geometry">
+            <mxPoint x="448" y="230" as="sourcePoint" />
+            <mxPoint as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="S3Av5TdVFqS_SrXukbwN-2" value="Researcher" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" parent="1" vertex="1">
+          <mxGeometry x="433.5" y="146" width="30" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-39" value="HTTP" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;fontSize=9;" parent="1" source="CohMdi7D_fRk0dSxzjYi-1" target="S3Av5TdVFqS_SrXukbwN-1" edge="1">
+          <mxGeometry x="0.0013" relative="1" as="geometry">
+            <mxPoint as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;" parent="1" source="CohMdi7D_fRk0dSxzjYi-1" target="AQz-Vj6r_5Wor37pQVs6-1" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-41" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="CohMdi7D_fRk0dSxzjYi-1" target="SsHHCok0RUWS7ODwTELy-4" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-42" value="HTTP" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=classic;startFill=1;fontSize=9;" parent="1" source="CohMdi7D_fRk0dSxzjYi-1" target="13tBXMPt0xomx7MP2VuM-1" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="1" source="CohMdi7D_fRk0dSxzjYi-1" target="O_ELZSFbvl3Butg3bv_j-1" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="415" y="346" />
+              <mxPoint x="362" y="346" />
+              <mxPoint x="362" y="440" />
+              <mxPoint x="275" y="440" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-19" value="HTTP" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=9;" vertex="1" connectable="0" parent="V1Wl26Vbpgnno5Lb-wtg-43">
+          <mxGeometry x="-0.6602" relative="1" as="geometry">
+            <mxPoint x="-3" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-44" value="TUSD" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;fontSize=9;" parent="1" source="CohMdi7D_fRk0dSxzjYi-1" target="V1Wl26Vbpgnno5Lb-wtg-38" edge="1">
+          <mxGeometry x="0.0034" relative="1" as="geometry">
+            <mxPoint as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="1" source="CohMdi7D_fRk0dSxzjYi-1" target="hBEam5F8n4ZBPeoiEcWH-1" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="480" y="346" />
+              <mxPoint x="538" y="346" />
+              <mxPoint x="538" y="540" />
+              <mxPoint x="625" y="540" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-18" value="HTTP" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=9;" vertex="1" connectable="0" parent="V1Wl26Vbpgnno5Lb-wtg-45">
+          <mxGeometry x="-0.7352" y="1" relative="1" as="geometry">
+            <mxPoint as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="CohMdi7D_fRk0dSxzjYi-1" value="Gateway Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="382.5" y="278" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="13tBXMPt0xomx7MP2VuM-1" value="Analyse Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="382.5" y="374" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-46" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;" parent="1" source="O_ELZSFbvl3Butg3bv_j-1" target="V1Wl26Vbpgnno5Lb-wtg-36" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="O_ELZSFbvl3Butg3bv_j-1" value="Authentication Service&lt;br&gt;(Keycloak)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="210" y="470" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;" parent="1" source="hBEam5F8n4ZBPeoiEcWH-1" target="V1Wl26Vbpgnno5Lb-wtg-34" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-48" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;" parent="1" target="V1Wl26Vbpgnno5Lb-wtg-32" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="689.9999999999998" y="586" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-16" value="JDBC" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=9;" vertex="1" connectable="0" parent="V1Wl26Vbpgnno5Lb-wtg-48">
+          <mxGeometry x="-0.2851" y="-2" relative="1" as="geometry">
+            <mxPoint x="6" y="-2" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hBEam5F8n4ZBPeoiEcWH-1" value="Metadata Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="560" y="566" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-15" value="Spring AMQP" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;jumpStyle=arc;dashed=1;strokeWidth=1;dashPattern=1 1;fontSize=9;" edge="1" parent="1" source="AQz-Vj6r_5Wor37pQVs6-1" target="YJRAzF6yD4Hh-bAvO1PB-1">
+          <mxGeometry x="0.54" relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="370" y="394" />
+              <mxPoint x="370" y="540" />
+              <mxPoint x="449" y="540" />
+            </Array>
+            <mxPoint as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="AQz-Vj6r_5Wor37pQVs6-1" value="Broker Service&lt;br&gt;(RabbitMQ)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="210" y="374" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-49" value="HTTP" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;fontSize=9;" parent="1" source="SsHHCok0RUWS7ODwTELy-4" target="V1Wl26Vbpgnno5Lb-wtg-26" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="SsHHCok0RUWS7ODwTELy-4" value="Search Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="560" y="374" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="S3Av5TdVFqS_SrXukbwN-1" value="UI" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="210" y="278" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-26" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=8.600000000000023;fillColor=#dae8fc;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="740" y="362" width="50" height="64" as="geometry" />
+        </mxCell>
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="1" source="V1Wl26Vbpgnno5Lb-wtg-32" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="850" y="586" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-32" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=8.600000000000023;fillColor=#dae8fc;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="740" y="554" width="50" height="64" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-33" value="metadata-db" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
+          <mxGeometry x="722.5" y="618" width="85" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-34" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=8.600000000000023;fillColor=#dae8fc;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="600" y="660" width="50" height="64" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-35" value="data-db" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
+          <mxGeometry x="582.5" y="724" width="85" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-36" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=8.600000000000023;fillColor=#dae8fc;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="250" y="550" width="50" height="64" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-37" value="auth-db" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
+          <mxGeometry x="232.5" y="614" width="85" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-38" value="Upload Service&lt;br&gt;(tusd)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="560" y="278" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-3" value="metadata-db-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
+          <mxGeometry x="810.5" y="600" width="108" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-6" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="850.5" y="572" width="28" height="28" as="geometry" />
+        </mxCell>
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-7" value="search-db-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
+          <mxGeometry x="810.5" y="408" width="108" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="A18w2Y2_AVEIFkgUy5Lv-8" target="V1Wl26Vbpgnno5Lb-wtg-26" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-8" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="850.5" y="380" width="28" height="28" as="geometry" />
+        </mxCell>
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-10" value="data-db-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
+          <mxGeometry x="571" y="794" width="108" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="A18w2Y2_AVEIFkgUy5Lv-11" target="V1Wl26Vbpgnno5Lb-wtg-35" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-11" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="611" y="766" width="28" height="28" as="geometry" />
+        </mxCell>
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="A18w2Y2_AVEIFkgUy5Lv-15" target="V1Wl26Vbpgnno5Lb-wtg-37" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-15" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="261" y="656" width="28" height="28" as="geometry" />
+        </mxCell>
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-16" value="auth-db-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
+          <mxGeometry x="221" y="684" width="108" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="A18w2Y2_AVEIFkgUy5Lv-36" target="V1Wl26Vbpgnno5Lb-wtg-38" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-36" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="751" y="284" width="28" height="28" as="geometry" />
+        </mxCell>
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-39" value="upload-service-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
+          <mxGeometry x="711" y="312" width="108" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-2" value="JDBC" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;fontSize=9;" edge="1" parent="1" source="YJRAzF6yD4Hh-bAvO1PB-1" target="V1Wl26Vbpgnno5Lb-wtg-34">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="448" y="582" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-1" value="Data Service" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="383.5" y="566" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="YJRAzF6yD4Hh-bAvO1PB-12" target="V1Wl26Vbpgnno5Lb-wtg-26">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="765" y="490" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-17" value="HTTP" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=9;" vertex="1" connectable="0" parent="YJRAzF6yD4Hh-bAvO1PB-13">
+          <mxGeometry x="0.3792" y="-1" relative="1" as="geometry">
+            <mxPoint as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-14" value="JDBC" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;fontSize=9;" edge="1" parent="1" source="YJRAzF6yD4Hh-bAvO1PB-12" target="V1Wl26Vbpgnno5Lb-wtg-32">
+          <mxGeometry x="0.5121" y="-1" relative="1" as="geometry">
+            <mxPoint as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-12" value="Mirror Service" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="560" y="470" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-27" value="search-db" style="text;html=1;strokeColor=none;fillColor=default;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
+          <mxGeometry x="722.5" y="437" width="85" height="17" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+  <diagram name="Frontend" id="GYXS_N4ymJ7hX3zLKvDC">
+    <mxGraphModel dx="1434" dy="822" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="583" pageHeight="413" math="0" shadow="0">
+      <root>
+        <mxCell id="ihsuRJ9dWuDPEHVUeUyY-0" />
+        <mxCell id="ihsuRJ9dWuDPEHVUeUyY-1" parent="ihsuRJ9dWuDPEHVUeUyY-0" />
+        <mxCell id="IRxpwOfG2jHF0YoYJLJK-1" value="" style="rounded=1;whiteSpace=wrap;html=1;arcSize=2;fillColor=#dae8fc;strokeColor=#000000;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="17" y="232" width="320" height="136" as="geometry" />
+        </mxCell>
+        <mxCell id="IRxpwOfG2jHF0YoYJLJK-0" value="" style="rounded=1;whiteSpace=wrap;html=1;arcSize=2;fillColor=#d5e8d4;strokeColor=#000000;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="17" y="20" width="320" height="204" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-0" value="UI" style="rounded=1;whiteSpace=wrap;html=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="187" y="30" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-1" target="kLNLoM7m2o6o68vp3Wb9-0" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-1" value="Vue.js" style="rounded=1;whiteSpace=wrap;html=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="187" y="100" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-2" target="kLNLoM7m2o6o68vp3Wb9-3" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-2" target="kLNLoM7m2o6o68vp3Wb9-1" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-9" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=classic;startFill=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-2" target="kLNLoM7m2o6o68vp3Wb9-1" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-2" target="kLNLoM7m2o6o68vp3Wb9-10" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-2" value="Vuex&lt;br&gt;(state)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF2CC;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="187" y="170" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-3" target="kLNLoM7m2o6o68vp3Wb9-4" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-3" value="Vuex Persist&lt;br&gt;Plugin" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF2CC;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="27" y="170" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-4" value="Local Storage" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;fillColor=#FFF2CC;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="62" y="60" width="60" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-10" target="kLNLoM7m2o6o68vp3Wb9-12" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-10" value="Node.js&lt;br&gt;(api client)" style="rounded=1;whiteSpace=wrap;html=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="187" y="248" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-12" target="kLNLoM7m2o6o68vp3Wb9-13" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;dashed=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" source="kLNLoM7m2o6o68vp3Wb9-13" target="kLNLoM7m2o6o68vp3Wb9-18" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-20" value="refresh_token" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="kLNLoM7m2o6o68vp3Wb9-19" vertex="1" connectable="0">
+          <mxGeometry x="0.5604" y="1" relative="1" as="geometry">
+            <mxPoint x="-21" y="34" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-12" value="Axios&lt;br&gt;(+request interceptor)" style="rounded=1;whiteSpace=wrap;html=1;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="187" y="318" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-13" value="Gateway Service" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#B3B3B3;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="437" y="318" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="kLNLoM7m2o6o68vp3Wb9-18" value="Authentication Service" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#B3B3B3;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="437" y="170" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="4DtipyiVSSVc0IyAwunU-1" value="client-side" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="23" y="27" width="60" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="4DtipyiVSSVc0IyAwunU-2" value="server-side&lt;br&gt;(nuxt.js)" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="24" y="243" width="64" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="4DtipyiVSSVc0IyAwunU-4" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/Google_Chrome_icon_%28February_2022%29.svg/2048px-Google_Chrome_icon_%28February_2022%29.svg.png;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="88" y="27" width="20" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="4DtipyiVSSVc0IyAwunU-6" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Firefox_logo%2C_2019.svg/1200px-Firefox_logo%2C_2019.svg.png;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="113" y="26.599999999999966" width="20" height="20.8" as="geometry" />
+        </mxCell>
+        <mxCell id="4DtipyiVSSVc0IyAwunU-7" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://upload.wikimedia.org/wikipedia/commons/thumb/a/ae/Nuxt_logo.svg/2560px-Nuxt_logo.svg.png;" parent="ihsuRJ9dWuDPEHVUeUyY-1" vertex="1">
+          <mxGeometry x="92" y="243.15999999999997" width="28" height="20.84" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+  <diagram id="L1JzLK7pEtbSKg_GzwHe" name="kubernetes">
+    <mxGraphModel dx="3772" dy="822" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="1654" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="uhuFqILdIqehBGa5AEh--359" value="" style="rounded=1;whiteSpace=wrap;html=1;arcSize=1;fillColor=none;dashed=1;" parent="1" vertex="1">
+          <mxGeometry x="-2194" y="90" width="1680" height="1480" as="geometry" />
+        </mxCell>
+        <mxCell id="o9QcCpmXlEoI0WZEIRtM-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="1" source="DhPzZC-KKjUQxFcC_TA6-2" target="OuYeyKodJbVhl-kyN8L6-1" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="OuYeyKodJbVhl-kyN8L6-1" value="&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;Researcher&lt;/span&gt;" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" parent="1" vertex="1">
+          <mxGeometry x="-2319" y="967" width="30" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="_Pozg8uFO5aD6k6oWX_S-1" value="dbrepo" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ns" parent="1" vertex="1">
+          <mxGeometry x="-2154" y="66" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--242" value="dbrepo-shared-claim&lt;br&gt;(ReadWriteMany)" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="1" vertex="1">
+          <mxGeometry x="-1084" y="790" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--313" value="" style="group" parent="1" vertex="1" connectable="0">
+          <mxGeometry x="-2060" y="1200" width="390" height="221" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--287" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="uhuFqILdIqehBGa5AEh--313" vertex="1">
+          <mxGeometry width="390" height="221" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--288" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--313" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="77" y="99" as="sourcePoint" />
+            <mxPoint x="121" y="99" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--289" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--313" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="99" as="sourcePoint" />
+            <mxPoint x="220" y="153" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="99" />
+              <mxPoint x="195" y="153" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--290" value="broker-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--313" vertex="1">
+          <mxGeometry x="30" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--291" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--313" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="99" as="sourcePoint" />
+            <mxPoint x="220" y="45" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="99" />
+              <mxPoint x="195" y="45" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--292" value="broker-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--313" vertex="1">
+          <mxGeometry x="120" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--293" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--313" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="321" y="94" as="sourcePoint" />
+            <mxPoint x="249" y="38" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--294" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--313" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="329" y="105" as="sourcePoint" />
+            <mxPoint x="252" y="155" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--295" value="broker-secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="uhuFqILdIqehBGa5AEh--313" vertex="1">
+          <mxGeometry x="307" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--296" value="broker-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--313" vertex="1">
+          <mxGeometry x="220" y="130" width="50" height="47" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--297" value="broker-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--313" vertex="1">
+          <mxGeometry x="220" y="21" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--314" value="" style="group" parent="1" vertex="1" connectable="0">
+          <mxGeometry x="-2060" y="690" width="390" height="110" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--298" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="uhuFqILdIqehBGa5AEh--314" vertex="1">
+          <mxGeometry width="390" height="110" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--299" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--314" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="77" y="39" as="sourcePoint" />
+            <mxPoint x="121" y="39" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--310" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="uhuFqILdIqehBGa5AEh--314" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="212" y="39" as="targetPoint" />
+            <mxPoint x="122" y="39" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--303" value="search-sync" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--314" vertex="1">
+          <mxGeometry x="120" y="15" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--305" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;exitX=0.44;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" parent="uhuFqILdIqehBGa5AEh--314" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="326" y="39" as="sourcePoint" />
+            <mxPoint x="257" y="39" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--306" value="search-sync-&lt;br&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="uhuFqILdIqehBGa5AEh--314" vertex="1">
+          <mxGeometry x="307" y="15" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--309" value="search-sync" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--314" vertex="1">
+          <mxGeometry x="210" y="15" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--312" value="search-sync" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=cronjob" parent="uhuFqILdIqehBGa5AEh--314" vertex="1">
+          <mxGeometry x="30" y="15" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--315" value="" style="group" parent="1" vertex="1" connectable="0">
+          <mxGeometry x="-1554" y="120" width="390" height="221" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--276" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="uhuFqILdIqehBGa5AEh--315" vertex="1">
+          <mxGeometry width="390" height="221" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--277" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--315" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="77" y="99" as="sourcePoint" />
+            <mxPoint x="121" y="99" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--278" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--315" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="99" as="sourcePoint" />
+            <mxPoint x="220" y="153" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="99" />
+              <mxPoint x="195" y="153" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--279" value="upload-&lt;br&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--315" vertex="1">
+          <mxGeometry x="30" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--280" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--315" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="99" as="sourcePoint" />
+            <mxPoint x="220" y="45" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="99" />
+              <mxPoint x="195" y="45" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--281" value="upload-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--315" vertex="1">
+          <mxGeometry x="120" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--282" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--315" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="321" y="94" as="sourcePoint" />
+            <mxPoint x="249" y="38" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--283" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--315" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="329" y="105" as="sourcePoint" />
+            <mxPoint x="252" y="155" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--284" value="upload-secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="uhuFqILdIqehBGa5AEh--315" vertex="1">
+          <mxGeometry x="307" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--285" value="upload-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--315" vertex="1">
+          <mxGeometry x="220" y="130" width="50" height="47" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--286" value="upload-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--315" vertex="1">
+          <mxGeometry x="220" y="21" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--316" value="" style="group" parent="1" vertex="1" connectable="0">
+          <mxGeometry x="-948" y="877" width="390" height="221" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--265" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="uhuFqILdIqehBGa5AEh--316" vertex="1">
+          <mxGeometry width="390" height="221" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--266" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--316" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="77" y="99" as="sourcePoint" />
+            <mxPoint x="121" y="99" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--267" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--316" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="99" as="sourcePoint" />
+            <mxPoint x="220" y="153" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="99" />
+              <mxPoint x="195" y="153" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--268" value="auth-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--316" vertex="1">
+          <mxGeometry x="30" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--269" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--316" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="99" as="sourcePoint" />
+            <mxPoint x="220" y="45" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="99" />
+              <mxPoint x="195" y="45" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--270" value="auth-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--316" vertex="1">
+          <mxGeometry x="120" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--271" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--316" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="321" y="94" as="sourcePoint" />
+            <mxPoint x="249" y="38" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--272" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--316" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="329" y="105" as="sourcePoint" />
+            <mxPoint x="252" y="155" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--273" value="auth-secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="uhuFqILdIqehBGa5AEh--316" vertex="1">
+          <mxGeometry x="307" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--274" value="auth-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--316" vertex="1">
+          <mxGeometry x="220" y="130" width="50" height="47" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--275" value="auth-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--316" vertex="1">
+          <mxGeometry x="220" y="21" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--317" value="" style="group" parent="1" vertex="1" connectable="0">
+          <mxGeometry x="-2060" y="434" width="390" height="221" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--254" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="uhuFqILdIqehBGa5AEh--317" vertex="1">
+          <mxGeometry width="390" height="221" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--255" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--317" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="77" y="99" as="sourcePoint" />
+            <mxPoint x="121" y="99" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--256" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--317" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="99" as="sourcePoint" />
+            <mxPoint x="220" y="153" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="99" />
+              <mxPoint x="195" y="153" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--257" value="semantic-&lt;br&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--317" vertex="1">
+          <mxGeometry x="30" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--258" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--317" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="99" as="sourcePoint" />
+            <mxPoint x="220" y="45" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="99" />
+              <mxPoint x="195" y="45" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--259" value="semantic-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--317" vertex="1">
+          <mxGeometry x="120" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--260" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--317" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="321" y="94" as="sourcePoint" />
+            <mxPoint x="249" y="38" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--261" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--317" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="329" y="105" as="sourcePoint" />
+            <mxPoint x="252" y="155" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--262" value="semantic-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="uhuFqILdIqehBGa5AEh--317" vertex="1">
+          <mxGeometry x="307" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--263" value="semantic-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--317" vertex="1">
+          <mxGeometry x="220" y="130" width="50" height="47" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--264" value="semantic-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--317" vertex="1">
+          <mxGeometry x="220" y="21" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--318" value="" style="group" parent="1" vertex="1" connectable="0">
+          <mxGeometry x="-2060" y="877" width="390" height="221" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--243" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="uhuFqILdIqehBGa5AEh--318" vertex="1">
+          <mxGeometry y="1" width="390" height="221" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--244" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--318" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="77" y="99" as="sourcePoint" />
+            <mxPoint x="121" y="99" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--245" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--318" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="99" as="sourcePoint" />
+            <mxPoint x="220" y="153" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="99" />
+              <mxPoint x="195" y="153" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--246" value="ui" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--318" vertex="1">
+          <mxGeometry x="30" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--247" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--318" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="99" as="sourcePoint" />
+            <mxPoint x="220" y="45" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="99" />
+              <mxPoint x="195" y="45" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--248" value="ui" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--318" vertex="1">
+          <mxGeometry x="120" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--249" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--318" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="321" y="94" as="sourcePoint" />
+            <mxPoint x="249" y="38" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--250" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--318" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="329" y="105" as="sourcePoint" />
+            <mxPoint x="252" y="155" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--251" value="ui-secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="uhuFqILdIqehBGa5AEh--318" vertex="1">
+          <mxGeometry x="307" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--252" value="&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;ui&lt;/span&gt;" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--318" vertex="1">
+          <mxGeometry x="220" y="130" width="50" height="47" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--253" value="ui" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--318" vertex="1">
+          <mxGeometry x="220" y="21" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--321" value="" style="group" parent="1" vertex="1" connectable="0">
+          <mxGeometry x="-949" y="1200" width="390" height="330" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--67" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="uhuFqILdIqehBGa5AEh--321" vertex="1">
+          <mxGeometry width="390" height="330" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--68" value="data-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--321" vertex="1">
+          <mxGeometry x="30" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--76" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--321" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="77" y="210" as="sourcePoint" />
+            <mxPoint x="121" y="210" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--78" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--321" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="210" as="sourcePoint" />
+            <mxPoint x="220" y="264" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="210" />
+              <mxPoint x="195" y="264" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--79" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--321" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="79" y="47" as="sourcePoint" />
+            <mxPoint x="121" y="46.75999999999999" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--80" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="uhuFqILdIqehBGa5AEh--321" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="47" as="sourcePoint" />
+            <mxPoint x="222" y="47" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--81" value="data-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--321" vertex="1">
+          <mxGeometry x="120" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--70" value="data-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--321" vertex="1">
+          <mxGeometry x="30" y="186" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--143" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--321" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="210" as="sourcePoint" />
+            <mxPoint x="220" y="156" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="210" />
+              <mxPoint x="195" y="156" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--224" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;dashed=1;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--321" source="uhuFqILdIqehBGa5AEh--71" target="uhuFqILdIqehBGa5AEh--81" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--71" value="data-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--321" vertex="1">
+          <mxGeometry x="120" y="186" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--144" value="data-db-claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="uhuFqILdIqehBGa5AEh--321" vertex="1">
+          <mxGeometry x="307" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--145" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--321" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="268" y="47.09999999999991" as="sourcePoint" />
+            <mxPoint x="308" y="46.8599999999999" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--159" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--321" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="325" y="145" as="sourcePoint" />
+            <mxPoint x="245" y="48" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--160" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--321" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="323" y="156" as="sourcePoint" />
+            <mxPoint x="252" y="156" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--161" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--321" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="320" y="173" as="sourcePoint" />
+            <mxPoint x="248" y="265" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--146" value="data-db-&lt;br&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="uhuFqILdIqehBGa5AEh--321" vertex="1">
+          <mxGeometry x="307" y="132" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--72" value="data-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--321" vertex="1">
+          <mxGeometry x="220" y="240" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--142" value="data-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--321" vertex="1">
+          <mxGeometry x="220" y="132" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--69" value="data-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--321" vertex="1">
+          <mxGeometry x="220" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--322" value="" style="group" parent="1" vertex="1" connectable="0">
+          <mxGeometry x="-1554" y="1200" width="390" height="330" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--202" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="uhuFqILdIqehBGa5AEh--322" vertex="1">
+          <mxGeometry width="390" height="330" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--205" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--322" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="77" y="210" as="sourcePoint" />
+            <mxPoint x="121" y="210" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--206" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--322" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="210" as="sourcePoint" />
+            <mxPoint x="220" y="264" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="210" />
+              <mxPoint x="195" y="264" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--210" value="search-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--322" vertex="1">
+          <mxGeometry x="30" y="186" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--211" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--322" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="210" as="sourcePoint" />
+            <mxPoint x="220" y="156" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="210" />
+              <mxPoint x="195" y="156" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--212" value="search-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--322" vertex="1">
+          <mxGeometry x="120" y="186" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--216" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--322" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="320" y="56" as="sourcePoint" />
+            <mxPoint x="252" y="156" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--228" value="search-db-claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="uhuFqILdIqehBGa5AEh--322" vertex="1">
+          <mxGeometry x="307" y="133" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--229" value="search-db-claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="uhuFqILdIqehBGa5AEh--322" vertex="1">
+          <mxGeometry x="307" y="240" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--230" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--322" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="268" y="264.0999999999999" as="sourcePoint" />
+            <mxPoint x="308" y="263.8599999999999" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--231" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--322" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="268" y="156.0999999999999" as="sourcePoint" />
+            <mxPoint x="308" y="155.8599999999999" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--220" value="search-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--322" vertex="1">
+          <mxGeometry x="220" y="132" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--217" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;jumpStyle=none;" parent="uhuFqILdIqehBGa5AEh--322" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="319" y="58" as="sourcePoint" />
+            <mxPoint x="248" y="265" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--226" value="search-db-&lt;br&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="uhuFqILdIqehBGa5AEh--322" vertex="1">
+          <mxGeometry x="307" y="25" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--219" value="search-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--322" vertex="1">
+          <mxGeometry x="220" y="240" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--323" value="" style="group" parent="1" vertex="1" connectable="0">
+          <mxGeometry x="-1554" y="441" width="390" height="330" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--182" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="uhuFqILdIqehBGa5AEh--323" vertex="1">
+          <mxGeometry width="390" height="330" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--183" value="metadata-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--323" vertex="1">
+          <mxGeometry x="30" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--184" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--323" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="77" y="210" as="sourcePoint" />
+            <mxPoint x="121" y="210" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--185" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--323" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="210" as="sourcePoint" />
+            <mxPoint x="220" y="264" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="210" />
+              <mxPoint x="195" y="264" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--186" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--323" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="79" y="47" as="sourcePoint" />
+            <mxPoint x="121" y="46.75999999999999" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--187" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="uhuFqILdIqehBGa5AEh--323" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="47" as="sourcePoint" />
+            <mxPoint x="222" y="47" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--188" value="metadata-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--323" vertex="1">
+          <mxGeometry x="120" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--201" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="uhuFqILdIqehBGa5AEh--323" source="uhuFqILdIqehBGa5AEh--183" target="uhuFqILdIqehBGa5AEh--188" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--189" value="metadata-db-&lt;br&gt;replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--323" vertex="1">
+          <mxGeometry x="30" y="186" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--190" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--323" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="210" as="sourcePoint" />
+            <mxPoint x="220" y="156" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="210" />
+              <mxPoint x="195" y="156" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--225" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;dashed=1;" parent="uhuFqILdIqehBGa5AEh--323" source="uhuFqILdIqehBGa5AEh--191" target="uhuFqILdIqehBGa5AEh--188" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--191" value="metadata-db-&lt;br&gt;replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--323" vertex="1">
+          <mxGeometry x="120" y="186" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--192" value="metadata-db-&lt;br&gt;claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="uhuFqILdIqehBGa5AEh--323" vertex="1">
+          <mxGeometry x="307" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--193" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--323" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="268" y="47.09999999999991" as="sourcePoint" />
+            <mxPoint x="308" y="46.8599999999999" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--194" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--323" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="325" y="145" as="sourcePoint" />
+            <mxPoint x="245" y="48" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--195" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--323" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="323" y="156" as="sourcePoint" />
+            <mxPoint x="252" y="156" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--196" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--323" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="320" y="173" as="sourcePoint" />
+            <mxPoint x="248" y="265" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--197" value="metadata-db-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="uhuFqILdIqehBGa5AEh--323" vertex="1">
+          <mxGeometry x="307" y="132" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--198" value="metadata-db-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--323" vertex="1">
+          <mxGeometry x="220" y="240" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--199" value="metadata-db-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--323" vertex="1">
+          <mxGeometry x="220" y="132" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--200" value="metadata-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--323" vertex="1">
+          <mxGeometry x="220" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--324" value="" style="group" parent="1" vertex="1" connectable="0">
+          <mxGeometry x="-2239" y="812" width="90" height="370" as="geometry" />
+        </mxCell>
+        <mxCell id="DhPzZC-KKjUQxFcC_TA6-2" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="uhuFqILdIqehBGa5AEh--324" vertex="1">
+          <mxGeometry width="90" height="370" as="geometry" />
+        </mxCell>
+        <mxCell id="DhPzZC-KKjUQxFcC_TA6-1" value="ingress" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ing" parent="uhuFqILdIqehBGa5AEh--324" vertex="1">
+          <mxGeometry x="20" y="18" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="DhPzZC-KKjUQxFcC_TA6-3" value="ingress-pid" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ing" parent="uhuFqILdIqehBGa5AEh--324" vertex="1">
+          <mxGeometry x="20" y="107" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="o9QcCpmXlEoI0WZEIRtM-1" value="ingress-root" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ing" parent="uhuFqILdIqehBGa5AEh--324" vertex="1">
+          <mxGeometry x="20" y="198" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="o9QcCpmXlEoI0WZEIRtM-2" value="ingress-api" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ing" parent="uhuFqILdIqehBGa5AEh--324" vertex="1">
+          <mxGeometry x="20" y="288" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--325" value="" style="group" parent="1" vertex="1" connectable="0">
+          <mxGeometry x="-948" y="445" width="390" height="326" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--232" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--325" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="237" y="3" as="sourcePoint" />
+            <mxPoint x="281" y="3" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--233" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--325" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="327" y="3" as="sourcePoint" />
+            <mxPoint x="380" y="57" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="355" y="3" />
+              <mxPoint x="355" y="57" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--320" value="" style="group" parent="uhuFqILdIqehBGa5AEh--325" vertex="1" connectable="0">
+          <mxGeometry width="390" height="326" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--162" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="uhuFqILdIqehBGa5AEh--320" vertex="1">
+          <mxGeometry width="390" height="326" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--163" value="auth-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--320" vertex="1">
+          <mxGeometry x="30" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--164" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--320" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="77" y="210" as="sourcePoint" />
+            <mxPoint x="121" y="210" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--165" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--320" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="210" as="sourcePoint" />
+            <mxPoint x="220" y="264" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="210" />
+              <mxPoint x="195" y="264" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--166" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--320" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="79" y="47" as="sourcePoint" />
+            <mxPoint x="121" y="46.75999999999999" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--167" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="uhuFqILdIqehBGa5AEh--320" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="47" as="sourcePoint" />
+            <mxPoint x="222" y="47" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--168" value="auth-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--320" vertex="1">
+          <mxGeometry x="120" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--169" value="auth-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--320" vertex="1">
+          <mxGeometry x="30" y="186" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--170" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--320" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="210" as="sourcePoint" />
+            <mxPoint x="220" y="156" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="210" />
+              <mxPoint x="195" y="156" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--223" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;dashed=1;" parent="uhuFqILdIqehBGa5AEh--320" source="uhuFqILdIqehBGa5AEh--171" target="uhuFqILdIqehBGa5AEh--168" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--171" value="auth-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--320" vertex="1">
+          <mxGeometry x="120" y="186" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--172" value="auth-db-claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="uhuFqILdIqehBGa5AEh--320" vertex="1">
+          <mxGeometry x="307" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--173" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--320" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="268" y="47.09999999999991" as="sourcePoint" />
+            <mxPoint x="308" y="46.8599999999999" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--174" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--320" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="325" y="145" as="sourcePoint" />
+            <mxPoint x="245" y="48" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--175" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--320" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="323" y="156" as="sourcePoint" />
+            <mxPoint x="252" y="156" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--176" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--320" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="320" y="173" as="sourcePoint" />
+            <mxPoint x="248" y="265" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--177" value="auth-db-&lt;br&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="uhuFqILdIqehBGa5AEh--320" vertex="1">
+          <mxGeometry x="307" y="132" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--178" value="auth-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--320" vertex="1">
+          <mxGeometry x="220" y="240" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--179" value="auth-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--320" vertex="1">
+          <mxGeometry x="220" y="132" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--180" value="auth-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--320" vertex="1">
+          <mxGeometry x="220" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--327" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="1" source="uhuFqILdIqehBGa5AEh--182" target="uhuFqILdIqehBGa5AEh--21" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--328" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="1" source="uhuFqILdIqehBGa5AEh--265" target="uhuFqILdIqehBGa5AEh--162" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--329" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="1" source="uhuFqILdIqehBGa5AEh--21" target="uhuFqILdIqehBGa5AEh--265" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--330" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;exitX=1;exitY=0.75;exitDx=0;exitDy=0;startArrow=classic;startFill=1;" parent="1" source="uhuFqILdIqehBGa5AEh--21" target="uhuFqILdIqehBGa5AEh--67" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="-1104" y="1044" />
+              <mxPoint x="-1104" y="1365" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--331" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="1" source="uhuFqILdIqehBGa5AEh--21" target="uhuFqILdIqehBGa5AEh--202" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--334" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=classic;startFill=1;strokeWidth=3;" parent="1" source="uhuFqILdIqehBGa5AEh--243" target="uhuFqILdIqehBGa5AEh--287" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--335" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.25;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;" parent="1" source="uhuFqILdIqehBGa5AEh--254" target="uhuFqILdIqehBGa5AEh--21" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="-1614" y="600" />
+              <mxPoint x="-1614" y="931" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--336" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.25;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="1" source="uhuFqILdIqehBGa5AEh--254" target="uhuFqILdIqehBGa5AEh--182" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--338" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;strokeWidth=3;entryX=1;entryY=0.75;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="1" source="uhuFqILdIqehBGa5AEh--21" target="uhuFqILdIqehBGa5AEh--276" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="-274" y="400" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="-1124" y="931" />
+              <mxPoint x="-1124" y="286" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--340" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="1" source="uhuFqILdIqehBGa5AEh--243" target="uhuFqILdIqehBGa5AEh--21" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--341" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;strokeWidth=3;" parent="1" source="uhuFqILdIqehBGa5AEh--298" target="uhuFqILdIqehBGa5AEh--21" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="-1624" y="745" />
+              <mxPoint x="-1624" y="988" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--342" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;jumpStyle=arc;" parent="1" source="uhuFqILdIqehBGa5AEh--298" target="uhuFqILdIqehBGa5AEh--202" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="-1624" y="745" />
+              <mxPoint x="-1624" y="1365" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--343" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;strokeWidth=3;jumpStyle=arc;" parent="1" source="uhuFqILdIqehBGa5AEh--287" target="uhuFqILdIqehBGa5AEh--21" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="-1634" y="1255" />
+              <mxPoint x="-1634" y="1150" />
+              <mxPoint x="-1456" y="1150" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--349" value="" style="group" parent="1" vertex="1" connectable="0">
+          <mxGeometry x="-1554" y="875" width="390" height="225" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--21" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="uhuFqILdIqehBGa5AEh--349" vertex="1">
+          <mxGeometry width="390" height="225" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--234" value="metadata-&lt;br&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="uhuFqILdIqehBGa5AEh--349" vertex="1">
+          <mxGeometry x="30" y="79" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--235" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--349" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="103" as="sourcePoint" />
+            <mxPoint x="220" y="49" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="103" />
+              <mxPoint x="195" y="49" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--236" value="metadata-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="uhuFqILdIqehBGa5AEh--349" vertex="1">
+          <mxGeometry x="120" y="79" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--240" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--349" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="321" y="98" as="sourcePoint" />
+            <mxPoint x="249" y="42" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--241" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="uhuFqILdIqehBGa5AEh--349" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="329" y="109" as="sourcePoint" />
+            <mxPoint x="252" y="159" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--239" value="metadata-&lt;br&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="uhuFqILdIqehBGa5AEh--349" vertex="1">
+          <mxGeometry x="307" y="79" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--237" value="metadata-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--349" vertex="1">
+          <mxGeometry x="220" y="133" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--238" value="metadata-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="uhuFqILdIqehBGa5AEh--349" vertex="1">
+          <mxGeometry x="220" y="25" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--347" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="uhuFqILdIqehBGa5AEh--349" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="78" y="103" as="sourcePoint" />
+            <mxPoint x="122" y="103" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--348" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="uhuFqILdIqehBGa5AEh--349" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="168" y="103" as="sourcePoint" />
+            <mxPoint x="221" y="157" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="196" y="103" />
+              <mxPoint x="196" y="157" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--356" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;fillColor=#e1d5e7;strokeColor=#9673a6;startArrow=classic;startFill=1;" parent="1" source="uhuFqILdIqehBGa5AEh--276" target="uhuFqILdIqehBGa5AEh--242" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--357" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.25;exitDx=0;exitDy=0;entryX=0.995;entryY=0.63;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;fillColor=#e1d5e7;strokeColor=#9673a6;jumpStyle=arc;" parent="1" source="uhuFqILdIqehBGa5AEh--67" target="uhuFqILdIqehBGa5AEh--242" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="uhuFqILdIqehBGa5AEh--358" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;entryX=0.005;entryY=0.63;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;fillColor=#e1d5e7;strokeColor=#9673a6;jumpStyle=arc;" parent="1" source="uhuFqILdIqehBGa5AEh--21" target="uhuFqILdIqehBGa5AEh--242" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="XQle7S94-AV5mvv9U2em-1" value="&lt;b&gt;Cluster&lt;/b&gt; aks-dbrepo (Kubernetes 1.24.10, Standard_B4ms 4vCPUs 16GB RAM)&lt;br&gt;&lt;b&gt;ResourceGroup&lt;/b&gt; dbrepo" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="-2320" y="11" width="590" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="43mXpWcvjyxaWf1V1qYn-1" value="Namespace" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ns;fontStyle=2" parent="1" vertex="1">
+          <mxGeometry x="-86" y="29" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="43mXpWcvjyxaWf1V1qYn-2" value="&lt;i&gt;Ingress&lt;/i&gt;" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ing" parent="1" vertex="1">
+          <mxGeometry x="-86" y="139" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="43mXpWcvjyxaWf1V1qYn-3" value="Deployment" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;fontStyle=2" parent="1" vertex="1">
+          <mxGeometry x="-86" y="249" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="43mXpWcvjyxaWf1V1qYn-4" value="Service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc;flipH=0;fontStyle=2" parent="1" vertex="1">
+          <mxGeometry x="-86" y="360" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="43mXpWcvjyxaWf1V1qYn-5" value="Pod" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod;flipH=0;fontStyle=2" parent="1" vertex="1">
+          <mxGeometry x="-86" y="470" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="43mXpWcvjyxaWf1V1qYn-7" value="Persistent Volume&lt;br&gt;Claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc;fontStyle=2" parent="1" vertex="1">
+          <mxGeometry x="-86" y="580" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="43mXpWcvjyxaWf1V1qYn-8" value="Secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret;fontStyle=2" parent="1" vertex="1">
+          <mxGeometry x="-86" y="690" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="RQzdi1eE1gEFqANnGBYO-1" value="&lt;b&gt;Helm Charts&lt;/b&gt;&lt;br&gt;&lt;br&gt;dbrepo.azurecr.io/helm/dbrepo-core (generic open-source)&lt;br&gt;dbrepo.azure.io/helm/dbrepo-azure (uses dbrepo-core for Azure specific deployment)&lt;br&gt;&lt;br&gt;&lt;b&gt;Docker Images&lt;/b&gt;&lt;br&gt;&lt;br&gt;dbrepo.azurecr.io/dbrepo/* (placeholder for service names)" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=top;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="-460" y="1460" width="430" height="148.5" as="geometry" />
+        </mxCell>
+        <mxCell id="ZitV3d0DDrJxuNcBGxlc-1" value="dbrepo.azurecr.io&#xa;(Standard)" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://sysadminas.eu/assets/images/post16/ACR.png;" parent="1" vertex="1">
+          <mxGeometry x="-136.76999999999998" y="1341.5" width="89.53" height="47" as="geometry" />
+        </mxCell>
+        <mxCell id="ZitV3d0DDrJxuNcBGxlc-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="ZitV3d0DDrJxuNcBGxlc-4" target="ZitV3d0DDrJxuNcBGxlc-1" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="ZitV3d0DDrJxuNcBGxlc-3" value="Images, Helm Charts" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="ZitV3d0DDrJxuNcBGxlc-2" vertex="1" connectable="0">
+          <mxGeometry x="0.2037" y="-1" relative="1" as="geometry">
+            <mxPoint x="-28" y="-1" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="ZitV3d0DDrJxuNcBGxlc-4" value="gitlab.phaidra.org&#xa;(Sourcecode, CI/CD)" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAAQQAAAA9CAYAAABLChfbAAAABHNCSVQICAgIfAhkiAAAABl0RVh0U29mdHdhcmUAZ25vbWUtc2NyZWVuc2hvdO8Dvz4AAAAldEVYdENyZWF0aW9uIFRpbWUARnIgMTEgQXVnIDIwMjMgMTM6MTU6NDTPh1bqAAAboUlEQVR4nO2deXwTZf7HP0naHDRNQtM2tKWUutACPUBBRLYI6nJ0cUUEF36CInhSUTxwFRBBFLorrCsrFkUOXQE5ihyLSFsQsaXYWhB6AK1HuVqalkCSTkjSJjO/P9KUppmZJJOkx5r369U/mmfmmW+SyWee7/f5fp+HR1EUhQABAgQAwO9sAwIECNB1CAhCgAABWgkIQoAAAVoJCEKAAAFa8VgQLHU1qMuYhrqMabD+dtYfNnmEsbgAtVNG4to7r4E0GjrbnAABujU8T2cZ6jKmoan0hO1koQSx31b6xTB3sNTVoGZsb/AjEkARDZDOXoiwua91mj0BAnR3PBohWOpqYM7fCZ5YCp5YCopogLG4wF+2uYTI2Q+epCfAF4AnjYBh9+bAKCFAAC/wSBD0e7aBJ4+99YJQCkPOPl/b5Damou/Ak0bY/uELQOnrcLOosNPs6eqUlVWgrKwCBBEQzQD0eCQIxOZM8MTS1v95QgmMx77ulKeypa4GTSV5AF9w60WhFIb9X3a4LV2dj9d9Ch6Ph9TUZKSmJiM0VIp3l2d2tlkBuiBB7h5I6xq0PJXNZT9BMjzNl3a5hMjZDwilDq/xxFKY8jbDei0TgnBVh9rjDgRhgNVigcFwE41EI5qamqEMC0NISA8AgFwh9/k1X3j+JazNWoMIRRz4Apv+k1YSS5YuwoWLF7Fh48c+v2aA7ovbQUX1K3NgLj7sMEIAAMpEoMfDTyH8lbf8YiATdRnT0Hz+tOMIocUe2dMLoZg1t0PtYaKsrALHCwpRUnISJcWncaa8iOFIJSam34MRI+7EpMkPIj6+L6TSEK+vnZqaDJUynrZdralGQX4h/ph2t1fX4QLbCMVkMiPj+WcRHRPVgRZ1Hv9cvQbGmzdp20wmM95Y9JrX94K7uCUI1mtq1Dx0p5MYAABIKwQ9lei1JQ98SccYbamrQe2DKeDJetHaA74AsYc7b0qUIAzI3vUV1n+8CSeKvwMggQihEImDIAkR0Z5DWkmYTc3QmwgAegxKGIrJUx7AY7MeRWJiAic7Pl73KeZmzIdKSfM5AVBrNFi9ajleXTCfU//ewOOxjYb0OH++kvP77m7E9hqAK+pLAIJpWvXQ3tD6ZfRIh1suA3E0B2giADpB4AtguXweTVXnIB48zNf20WLIP8Lc2OLGmM6UdJg9bdm9ey9eev4NXFFXQyYOZ3w6t4cv4EMSImoRDCUa6q9hRea/sCLzbczLmI/Mf6zg+JSwsrYyPZn8Tbi8JwBAEOQcxlJr9B1tTqcik0sRborsEp+FW4Jg2Lv1VjSfDqEUxJGDHScIbtjTmP2fDhUEnVaH9PEP4UTxdwiXx0GljPGqP76AD5VSCdLaE2uzNmNt1noU5B/xaHj/x7SRAJpYjtDj3vvGuOwnL/cwGho0EImdRzdmkxkTJ07osCdYAP/iUhBMZ0pg+flH+uF5CzyhBE3HD4Gc+6rf3QZLXQ2aS3PBVw1ktcd0PAfWa+oOCS7afPXREEHg9ojAXW4JA4m0USOxLms9npv7tFvnpqQkYfHCpViR+bZTULFBexHzMua7JTAbPv0cO7O3MLaXlpYjJSAI/xO4nHYkjhx0iuY79yJAc9UJNFWd85VdjBjyj9iSkVzYQxENNlfHzxwvOIHU1DshE4ugUPpPDG3CEI+5Gc94NGX47splWL3qA1CULYio1lSDooB33l6JDz/6wK0+QmUhECESKmW80x8g4fiOAnRFWEcIpNEA48Ht4Aldf+k8eSxuFh71+zDdpbtgt0caAePRryF/5HG/2VJWVoG0URMQLqf3/9pieyrfAMDkE0ogE/dkDDraUSnjsWTpIvSO7Y0nZj/mlp2vLpiPZ597CnqdHo1EI2JiYjosah2ge8F6F98sKgSlr3Oa2qODJ5SA2Pqhzwyjw1JXA8vPP7plD/gCNJXk+a0AiyAMGHvvXyATS1nFgLSSUGuqYTY1452330BBfiHOn6+E9oYWFEVBe0OL0tJybN70CW4flgS1phpaDXuil0oZj9lzHkdlZZXb9kqlIYiOiUJiYkJADAIwwioIxM4Nbj2NbT0JQOkuw3SmxBd20cI6u0CHUApdztd+sWXh64uh1mhYn+jXNQREIjGys/dAZ6zBm28txB/T7kZiYkJrEE6ukCMlJQlPzH4M3+XnouZKLSZNHQe1ppr1+jJxNGY//qxP31OAAIyCYC9kcutp3AJPHmuLOfgJd92FVnuEEr8UPJWVVWBt1hqolErGY9QaDcalp6Ho5FFMmfKQ231Hx0Rhx64vsC5rPasoSEJEOFH8HXbv3uuR7QECsMEoCETOfsdCJjfgCSUwHtzutVF0WOpqYLl4ziOBapta7UteyHgZMnE0Y7tao8fE9Ptx4OBXnLPtnpv7tEtRkImj8eEHWZz69yVCIV1CTYDuCGNQUf9pplvBRAf4AlAmArovN0MQ1dtb2xwwnTrB7UShFPrtm3xWa3G84ASOFeQxTi8aDWYMTu6HAwe/8vpaz819GiUlJ7FxUzZUSplTuyREhGMFeSgrq0BKShKjvWy0n3asrKzCtQaNw2t1V+shEjPdKj1wsuQnp3OY+u9u1NZcRUVFBUpLK3Du3Dk06g0wGGwjzl5RkRg4cCBSU5OQlJTU4anWbdPiG/U2myIjlRg6bCj69+/H6bOn/ZaNxQXMmYku4Iml0H201Ha+LxFK6VOn3bDHlwVP/16TBREiGdv1plp8sS3X6+vYWb58KTZuygZpJVvzCByRYd+e/YyCkDZqJEvvMmhvXHJIKtq1YzeWLF3keJQ4mjFWolLKMGPmM6CbPRmcfBcKThzpdkFMgjBg/74DeO/v/2pTeyJDMETgg9cqjmaTBWZ8Cft7H5QwFK+9MR9TH3nYr+/5eMEJPPPkCzhbdRKABMGQgg+ezSZYAawHYAQAzMuYj4WLXndbrGgFQb99k+vcAxZ4YiknMfEXPHksiLyDkP/fbK/6qa25ikMHvoVMQT9yUms0WLxwKeOPkwvRMVGYlzETa7PWIBj08ZODX+fizbcWMvSgRIRC6iQmpJWESCR2OlrSowcAGWt8pD22Yx2PNxrMUCicRzVdnW1bd2DOzBdhRj1k4mjWRDObSIbA/t7r1dcwe87jmD3ncWzdsh2Pzpjmc/veXZ6JJUsXubDN9rmTVhJrs7ZgbdYarF71gVs1K06CYL2mtlU1euoudGF4Qgn0G1d5LQhlZeXQm2qhCnH+IkgrCRHEyHje95H/eS9mwGgyQSJ2/gEDgNFkAkEYut2TuCuh0+rwzNPzsDN7S0tWp+cZp4IgW/IYaSUxY+Z07Nt7ADt2feEzG+2l7J7Ux6iUMpBWKRa89hKKi0qwcfPHrPeJkyAQeQc5uwtdFh8VPB3479do/yS0o9caMWnqOL/4kYmJCYF1C/wIQRha6lBO+ST13J5VujN7J0KfDPH6uxMEBeGzzV94JAb09uwGAFaRchIE6dltkI6IAGCFqZEHnZoHaxPPYyO6AgIhBbmKgjiUAiwSkDkfAoM/59QXQRhQVnoWMpoCHwAwox5/nT7FG3O7EHoYDbceCCJxMEP8wobRYHbuwWRGU1OzX6zzNU/Ofq5FDJjdJKPB3FqafgsZZGIpS3wlBhs3fYJhw4a6XX/ijBLV1Rcwe848RCjiWl8lrSQoCmgy2z5joSjYZbasStkLO7O3IGX5IEYX00EQLHU14NUeBkJsdejiUNuPydTIg9kAGK53j20cQsJIyHu1W+YhSApeXSlIo4FTAZZep8exggJEKJgCihIkJw/y3NguhlIZhtFpYyENvSUI1b9eQkP9NVpRsFpI3D4syeF4O72iIru8G/PZ5i+wM3sL66yR3lSL0Wlj8ZdJE5GcPAhSqRQ3bxpQWlqB3bv24kRxISIUUbSfT4QiDnMzFuDBBx/gNHpUKWWYPnUWIhQ9wRfwYbWQuKa7ASAYg5P7oXesbfr7yuVanCk/ByCYdkbqVn+21Pd77xtDOwvhsECKNX8P8NnDrYLQnq4+YqAVgrYYqoDFFRDc5vkPt7KyCgMGJNLeOKSVhF5rhIlSe9yvv+HxwlmDiuXni1yWLj/15HPYsmkPbfGWWlOH8+dPe7yYSYSiLwCm9RCqO2SBFIIwIDRU6lAJ6miHHncPT8Gqf65kncLbtnUHZsyczbIQTQ3WZa1lHCUkJQ5Dvfoa4xPePsNkNJghFAXjjTdfxgN/SXf6fCorq/DF59uwIjOTUaAAm8glpSagsOioU5vDGeTlnwERc8KNOJSCqh+JsFiS8ZjOQCCkEBbrQgy85EL1RcY2igIGJPu27Lk70V1cg/bs33cAAGA2NYO0Ot7TWo0BE9PvQe6RAy7n8x+dMQ2rV2VCraHPxRBBgaPffs/ZTrsY9O4ThYKiXLy6YD6tWCYmJuDdlctw6JsDaNASTu/Jjj3LlS5HxVFCDNfdMlAcSiF6kBUCYefvJB8SRkLVj7TFCdyAd6OO03WuXq0DU6lvo86IxAH9OfUboPMQiUWYlzEftw9LQoP2Ymt5uFpTDTOsWP/pR267PLYpPfpKVplCgm/z8r1a/l5vqsVX+7e5NWoaP2EsDn3zJRq0zA+xYERg82bneJpjUDEkzCMjVf1I6Op4nRZbCIt1XwjsUD2ZF3phw2QysbZHRro/b9+W2pqrnM5rT0hIj8CqRR4yZcpDDnUmOq0O5eVnUae2uX6e+vyj08bip5IKpyAjX8CHWlMNq8XCyU6by7HeIxdq/ISxmJcxH2uzttDGFBSKHjiwLxe6f+oc7htHQWCJJDMh70VBFELi+uWOEwWB0Oa6dDz0OfskuI+Upj78aMtCrN7hbuJJAGbkCrlXqdb9Em7DDwVnGGcd6tRqj0XbNuwP5TRLMe/FDKzN2kyb5WoXqfLysw7v2UEQrAPGgJ/7GhDkWTDH7kKof+H7PeDoMnDIBkt8xD3ofWU+eDC6GEEwEabsyZoa7A5qjaZ1b4cAnceJghLGLFaAW6ylQUvgnbdf5WRPYmICJqbfj/yjRQz3lww//FDsIAgOshGk8i6pRtWPREiY/57c3gYOKXEkpxkGABAzZAkCgEgc1FpcEuD3hU6rw/GCE5j2yGM4W3WBNV+DGxrcNeJOzmdPfWQy9KYbtG3BEOFCtWM1rcMIIahXDJr6TIJA/SMQxC1T0R8uhE9cBAsBKmUy59OFQiHYljS/fOkK574DdG1qa66iuvoCbt40oKFBg7MV5/Dzz7+i8vzPqLtaD7WmumXNSf/UbiQlca+N6d+/H+yFTu2RiINRXX3J4TWnTEXBfbOAz/Z57Da0xZcuhFcuQlvMteDfz319xbi4PmBa0lwkDsZvvzJHdAN0L/JyD6Pohx9xOO8ojhXktWsVAgiFTCyCUBQMHg8+X2nbDmklES6Pg0zOXWjCI5iD3SJxMKp/veRQB+MkCLxh40Dt8k1CiLezEFxmEWixELD2mQQhR3cBAOLj+7K2qzV61NZc9TgyTTQS0JtqoTexfenBkIlFLHGG7pkH0JXQaXX48sudWLJwBa7pLsKeluyvH7s7UBQQE8ttVsxOLxV7yX+9+prD/06CwJeEwPrI31kzFj2BiwvhUIPgC8y1EDy20qsuQkJ6QCaOZozYAhpUV1/wWBC2bXevtiI39zBmz5nHmG/PFuMIwM6t3bYqEaGI4yQCthRns0/dBh4PaG7iNlVph21WwzbTUOcwHUr7KxWMmgxrn0mAxTeLnHiSyORpopFLDFUgx63iHEy0I1fIMereu2A2MT2NbRFbT4mOiXLrL1QWCoBpJsPY0h7AU95dnompUyfDZDJBpYx3GRQkrSSMBjPUGj3UmrrWRKak1ASsXrXE51uv6XXe/QbZkqFsU5rBEATdGhcwvvugv20FJY70mSgArmchfJ5+bCFAJj6O4GkLfNLdkCGp0JucK/sAQCaWYvcu/y14+tPJ0wCYf/SuhoYBnNm9ey+WLF0ElTKetY5AqzG0/vAbtBcR3y8WixfOw+ZNn6AgvxCNjQQKi47iqaeeAECfvsyVBvUNzglNgK0ojw37Hpt2GNdU5EtCQC06BKyZCWjOcp51aA+dC+GXRCNDFcgh8xD8gu/2ikj/83isyHwb9hVp2tI2P9wf6wh+vmk7wuXM38H/QqVlR0IQBsyY+qxDSXF77G7Ak3Om4pFHpiAlJZnVJTQYfLtxLl/Ahxn1MBhucs5Cra6+wNhGF6NgHR8JwlXgLdoLcuDDtkpBH9HWhfCbGIxb5VMxAGw/ut6qRMaiEREi8e81vl8FubKyClfUlbRPMaPBjLuHjwmkLXtITk4ezKhndBGuawgkpSbg/PlCbNj4McZPGNvhi6jaKSsr53yuLQ1bSNvWZG5G4oD+DvUaLiN9fEmI7Yf1xFc+FQUACB9FInyUD8Wgxb3hZRzxmZvQFrlCjoemTECDlt6NUihDsDN7C3IOtZ+q8o5V773PuJ6i3mTGffeP9un1fg98c/AQ42K5VguJQcm34ZucvX4vwXaNEj8Wc9/8aOf23RBBQdumN5nRv/8fHF5zO/QvGDUZWFwBKqiHT+IKZCIgiLX9kYledwcYqmBV3Qm89T34Q+/zQYf0PPPc02DzEyMUcZiQ/n8+K1ravXsvNm76BGFKJndBg/Q/j/fJtX5P/FL1G+PS8td09Xjplec9HnVprrtXLewJEQopli/9F6dza2uuYl92Lks6tQaDkhx3UfcoQUBw2yAEvf+TVy6EVQRgOMBv81nz5QCZ2tLGhRYXQbh0r9+3f09JScJfp85k3H+RL+BDJhYhpvcAr0WhrKwCU6fOQric3s81GswYnTa2k/c+YM7e7L4YMXTYHR6fdbygEL7eDZsv4KMZDdi2dYfH527a+BnMMLHOnIwZc4/j9Ty+CnDLhbAQHo0WrFGAYDB9G19sa7N64qa1XLv5xR/94iIwsfzdJTCjnrFdEiKCTCxFTO8UlxulMLFt6w6kpiYjXN6TMQKuN9XihZcyOPXvO5pcRrK7I3VXPRfz119ZxrLEHnciFHGYMXO6Rw+YsrIKLFm6DBGKnrTtRoMZE9MnO8VFOBccCEZNBhbkAcpBbomC3UVw2a+7LoShCmTfPwFvfe/3Lejbk5iYgHfeXuly78VwuRRpo0bihedfQllZhct+CcLQWigzY+Z0RCjiGMXAPjrwZN9IrkjEYpYSbyW+OZjjdxt8Dd0akLdQ4th3BR719+aiZdCbCD8UN9lGCSJE4tHps6DT6lweX1lZhelTZ0EmDme0R2+qpd03wmFNRS6QRgOsW94B/4d/0GY2WkXMowLWfk0AVQkI6Kb97bMIHTgqaA9BGDDu/gdwqvgs7VqDbbmuIdCMBoxOG4u0USNx+9AhrXkDdWo1LlRfxLlz51BSfBpnyosgQqTLPtWaapSWlrvcFMYXayq+uWgZVmSupc3CI60kGrQEtm75CA9OeqA1Yu1qnwj2NRU1WL1qOaKivEvbtdPU1IQnZj/m8JptjwP6xUPsa2Qeyd/rljtm2zxlGVTKGMZj2L4vV2sq2rmuITAo+Tb8Y9U7GD9hLO0x27buwPznX0eTuZkx1d1qISEWi3Hul5NO35HXgtB6EfsCraLo1pwFa5R7owLWfi8DAvtIyUIA5lrOC6X6mtqaq+jbezAk4mC31jOwz2s7BiWFAMQQQYxQucTlTQHYbi53dwbyhSDkHMrDhPRxjCm9NlGoR29VH/yhfx80NTXjRHERSkt/ZBQsNkEA0LI+Ibc1JpxpQmMj4XDz5+UexrjxYxnfk31143VZqzHzsUdpxS0v9zCWLlmBE8VFUCl7sWy3x10Q7J+tfQFX2z10DYMSUnDfn9LQNz4eN67fwOnTpThz6iyuqKtZF1i127J503+cRBLwoSAAtl2fqJUTwDPVg0ySOgQOvYHUAfxTVSATH4fghSxOy6j7i8rKKoz+4wRoNQaXT3Vvsd0cFz1aHckXgqDT6tCv72DweGC90Ugr2ZrarTddw+pV7zHa6UoQfIlaU+0kCARhQL++KbBaSNYsxQZtPQAjBiffhd6x0SAaCfz68yVcUVcCuLXvpX0RVKbl6rkIAmklEd27F/72xsuYMXO6g3hZLSR0uptohhn24jdX+2cAtlHGyLQh+C6ffv9Rn34bgnCVbRZi4hPg9/BdzgK/RxXIJzYg+G+fdykxAGzxhFNnjuOO4YOg1tT47TpGgxkN2otYl7W+w5dKkyvkeOPNl1kX7QRsYiEJsVVliqDAuXPnOshCz5FKQ/DRJ++3VDbSY9vxqBdUynhU/3IZ+UeL8FNJBcxmW92DShnfKgZJqQl4f00mGrS+mW6209xkwaMzpuHJOc86rOosCOIjTCmFSqmESimDJETkUgy0GgNUqjDs++8uxmP8Is/BE1eAuuMroNl7USBNAMb8gOBRT3pvmJ+IjolCYdFRLF64EGpNNe1ORlwhrSTUmhrI5KEoyC/0Ygcg73h1wXzcPXwMrmvcm1UKlUtQUnzaq5WG/c2UKQ9hXsZ81uCwHbvQtf/h2Xd0yv5qW8sr9GtmcEWvI0AQBmzY+DEGJw/kXDyl1ujxh4RYFJ08yl4BydVQVwQNngwq/QpIfgw3YWiuAtnjbghmnIIg/i7fG+gH3l25DAX5hbh9WFJLMYyeMc3ZFVaLTQhsLsJ7OPfLyU7ONwC+ydmL/gl9oNZUu3xfgiA+zpQXdfkpyQ8/+gCLFy7lJORqjQZCUTBKSwsRHRMFwuB78ZO1qV85lp+D0Wl3uCVgdmz3UTUmpt+DvG//6zr9muoAmnbPoiybQFm+SHDvbxOopu83dIRpfqO0tJxavHApBcgoABQgo0SIpGTiaCpcHuf0JxNHU4Cy5VhQ4fI4al3WeqqxkfDKDnt/9H8ySntD61F/jY0EtXrVBxQgoQBQwYigZOJohz8RIlvfd3b2Hg52+f7P1edYkF9IDUoY2nK8kpKJo6kIRZzDX7g8ruW9CSkA1LyM+Q79ZmfvYbWhtLSc9trh8jjGc0SIdLLddl/dam9/T7W9l8LlcVRuTp7b369Pg4psWM7sAe/Uw0Awe244aQL49/+n24wK3KGsrAK5OYdRXFSCy5euQKdtdGgPFgahd2w0hgxJxe1DhyAhob/L6UR3yTmUBz6feRm7seP+xLnvvNzD2LEjG3VX63FdY1vIM0zZE72iIjFw4ECMGDEcg4ekMkboOwqSpBin6dpzvOAEvjmYg2+PHMPli1db9+MQi8VQRiiQOKA/Jj30AMaMucfpaVtbcxVlZeW0nzdJUhgxYjjtcN3VZ0H3Hem0Ohw+chQ7t+/G5UtXcPOmsXUxlYjIMKSNGon0P4/3eFTZYYIAANbfzoL8YR745qPOwtBcBVI+C4L0j7pc4NDXtPeru/qGqL9XdFpda0lzd9gIx35feXM/daggAC2JTN+uBL9+5S1RaK4C2W9Dlw4cBgjwe6DDBcGO3YUgRfeCf3fm/5SLECBAd6XTBCFAgABdj/8HaTLFvi3/FOQAAAAASUVORK5CYII=;" parent="1" vertex="1">
+          <mxGeometry x="-460" y="1349.5" width="132.13" height="31" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+  <diagram name="kubernetes-core" id="zCL3C3PTpr-oPp3sT7_2">
+    <mxGraphModel dx="3772" dy="822" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="1654" math="0" shadow="0">
+      <root>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-0" />
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-1" parent="9zPUeIaJexzoN4Df6JNy-0" />
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-2" value="" style="rounded=1;whiteSpace=wrap;html=1;arcSize=1;fillColor=none;dashed=1;" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1">
+          <mxGeometry x="-2024" y="90" width="1680" height="1480" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-4" value="Researcher" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1">
+          <mxGeometry x="-2150" y="967" width="30" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-5" value="dbrepo" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ns" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1">
+          <mxGeometry x="-1984" y="66" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-6" value="dbrepo-shared-claim&lt;br&gt;(ReadWriteMany)" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1">
+          <mxGeometry x="-914" y="790" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-7" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
+          <mxGeometry x="-1890" y="1200" width="390" height="221" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-8" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="9zPUeIaJexzoN4Df6JNy-7" vertex="1">
+          <mxGeometry width="390" height="221" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-9" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-7" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="77" y="99" as="sourcePoint" />
+            <mxPoint x="121" y="99" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-10" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-7" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="99" as="sourcePoint" />
+            <mxPoint x="220" y="153" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="99" />
+              <mxPoint x="195" y="153" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-11" value="broker-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-7" vertex="1">
+          <mxGeometry x="30" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-12" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-7" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="99" as="sourcePoint" />
+            <mxPoint x="220" y="45" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="99" />
+              <mxPoint x="195" y="45" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-13" value="broker-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-7" vertex="1">
+          <mxGeometry x="120" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-14" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-7" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="321" y="94" as="sourcePoint" />
+            <mxPoint x="249" y="38" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-15" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-7" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="329" y="105" as="sourcePoint" />
+            <mxPoint x="252" y="155" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-16" value="broker-secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="9zPUeIaJexzoN4Df6JNy-7" vertex="1">
+          <mxGeometry x="307" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-17" value="broker-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-7" vertex="1">
+          <mxGeometry x="220" y="130" width="50" height="47" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-18" value="broker-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-7" vertex="1">
+          <mxGeometry x="220" y="21" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-19" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
+          <mxGeometry x="-1890" y="690" width="390" height="110" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-20" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="9zPUeIaJexzoN4Df6JNy-19" vertex="1">
+          <mxGeometry width="390" height="110" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-21" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-19" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="77" y="39" as="sourcePoint" />
+            <mxPoint x="121" y="39" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="9zPUeIaJexzoN4Df6JNy-19" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="212" y="39" as="targetPoint" />
+            <mxPoint x="122" y="39" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-23" value="search-sync" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-19" vertex="1">
+          <mxGeometry x="120" y="15" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-24" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;exitX=0.44;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" parent="9zPUeIaJexzoN4Df6JNy-19" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="326" y="39" as="sourcePoint" />
+            <mxPoint x="257" y="39" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-25" value="search-sync-&lt;br&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="9zPUeIaJexzoN4Df6JNy-19" vertex="1">
+          <mxGeometry x="307" y="15" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-26" value="search-sync" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-19" vertex="1">
+          <mxGeometry x="210" y="15" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-27" value="search-sync" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=cronjob" parent="9zPUeIaJexzoN4Df6JNy-19" vertex="1">
+          <mxGeometry x="30" y="15" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-28" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
+          <mxGeometry x="-1384" y="120" width="390" height="221" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-29" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="9zPUeIaJexzoN4Df6JNy-28" vertex="1">
+          <mxGeometry width="390" height="221" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-30" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-28" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="77" y="99" as="sourcePoint" />
+            <mxPoint x="121" y="99" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-31" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-28" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="99" as="sourcePoint" />
+            <mxPoint x="220" y="153" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="99" />
+              <mxPoint x="195" y="153" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-32" value="upload-&lt;br&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-28" vertex="1">
+          <mxGeometry x="30" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-33" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-28" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="99" as="sourcePoint" />
+            <mxPoint x="220" y="45" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="99" />
+              <mxPoint x="195" y="45" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-34" value="upload-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-28" vertex="1">
+          <mxGeometry x="120" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-35" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-28" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="321" y="94" as="sourcePoint" />
+            <mxPoint x="249" y="38" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-36" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-28" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="329" y="105" as="sourcePoint" />
+            <mxPoint x="252" y="155" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-37" value="upload-secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="9zPUeIaJexzoN4Df6JNy-28" vertex="1">
+          <mxGeometry x="307" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-38" value="upload-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-28" vertex="1">
+          <mxGeometry x="220" y="130" width="50" height="47" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-39" value="upload-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-28" vertex="1">
+          <mxGeometry x="220" y="21" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-40" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
+          <mxGeometry x="-778" y="877" width="390" height="221" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-41" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="9zPUeIaJexzoN4Df6JNy-40" vertex="1">
+          <mxGeometry width="390" height="221" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-42" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-40" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="77" y="99" as="sourcePoint" />
+            <mxPoint x="121" y="99" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-43" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-40" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="99" as="sourcePoint" />
+            <mxPoint x="220" y="153" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="99" />
+              <mxPoint x="195" y="153" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-44" value="auth-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-40" vertex="1">
+          <mxGeometry x="30" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-45" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-40" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="99" as="sourcePoint" />
+            <mxPoint x="220" y="45" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="99" />
+              <mxPoint x="195" y="45" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-46" value="auth-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-40" vertex="1">
+          <mxGeometry x="120" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-47" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-40" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="321" y="94" as="sourcePoint" />
+            <mxPoint x="249" y="38" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-48" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-40" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="329" y="105" as="sourcePoint" />
+            <mxPoint x="252" y="155" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-49" value="auth-secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="9zPUeIaJexzoN4Df6JNy-40" vertex="1">
+          <mxGeometry x="307" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-50" value="auth-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-40" vertex="1">
+          <mxGeometry x="220" y="130" width="50" height="47" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-51" value="auth-service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-40" vertex="1">
+          <mxGeometry x="220" y="21" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-52" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
+          <mxGeometry x="-1890" y="434" width="390" height="221" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-53" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="9zPUeIaJexzoN4Df6JNy-52" vertex="1">
+          <mxGeometry width="390" height="221" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-54" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-52" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="77" y="99" as="sourcePoint" />
+            <mxPoint x="121" y="99" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-55" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-52" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="99" as="sourcePoint" />
+            <mxPoint x="220" y="153" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="99" />
+              <mxPoint x="195" y="153" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-56" value="semantic-&lt;br&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-52" vertex="1">
+          <mxGeometry x="30" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-57" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-52" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="99" as="sourcePoint" />
+            <mxPoint x="220" y="45" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="99" />
+              <mxPoint x="195" y="45" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-58" value="semantic-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-52" vertex="1">
+          <mxGeometry x="120" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-59" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-52" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="321" y="94" as="sourcePoint" />
+            <mxPoint x="249" y="38" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-60" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-52" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="329" y="105" as="sourcePoint" />
+            <mxPoint x="252" y="155" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-61" value="semantic-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="9zPUeIaJexzoN4Df6JNy-52" vertex="1">
+          <mxGeometry x="307" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-62" value="semantic-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-52" vertex="1">
+          <mxGeometry x="220" y="130" width="50" height="47" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-63" value="semantic-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-52" vertex="1">
+          <mxGeometry x="220" y="21" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-64" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
+          <mxGeometry x="-1890" y="877" width="390" height="221" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-65" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="9zPUeIaJexzoN4Df6JNy-64" vertex="1">
+          <mxGeometry y="1" width="390" height="221" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-66" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-64" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="77" y="99" as="sourcePoint" />
+            <mxPoint x="121" y="99" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-67" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-64" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="99" as="sourcePoint" />
+            <mxPoint x="220" y="153" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="99" />
+              <mxPoint x="195" y="153" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-68" value="ui" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-64" vertex="1">
+          <mxGeometry x="30" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-69" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-64" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="99" as="sourcePoint" />
+            <mxPoint x="220" y="45" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="99" />
+              <mxPoint x="195" y="45" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-70" value="ui" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-64" vertex="1">
+          <mxGeometry x="120" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-71" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-64" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="321" y="94" as="sourcePoint" />
+            <mxPoint x="249" y="38" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-72" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-64" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="329" y="105" as="sourcePoint" />
+            <mxPoint x="252" y="155" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-73" value="ui-secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="9zPUeIaJexzoN4Df6JNy-64" vertex="1">
+          <mxGeometry x="307" y="75" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-74" value="&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;ui&lt;/span&gt;" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-64" vertex="1">
+          <mxGeometry x="220" y="130" width="50" height="47" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-75" value="ui" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-64" vertex="1">
+          <mxGeometry x="220" y="21" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-76" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
+          <mxGeometry x="-779" y="1200" width="390" height="330" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-77" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="9zPUeIaJexzoN4Df6JNy-76" vertex="1">
+          <mxGeometry width="390" height="330" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-78" value="data-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-76" vertex="1">
+          <mxGeometry x="30" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-79" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-76" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="77" y="210" as="sourcePoint" />
+            <mxPoint x="121" y="210" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-80" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-76" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="210" as="sourcePoint" />
+            <mxPoint x="220" y="264" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="210" />
+              <mxPoint x="195" y="264" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-81" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-76" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="79" y="47" as="sourcePoint" />
+            <mxPoint x="121" y="46.75999999999999" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-82" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="9zPUeIaJexzoN4Df6JNy-76" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="47" as="sourcePoint" />
+            <mxPoint x="222" y="47" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-83" value="data-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-76" vertex="1">
+          <mxGeometry x="120" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-84" value="data-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-76" vertex="1">
+          <mxGeometry x="30" y="186" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-85" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-76" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="210" as="sourcePoint" />
+            <mxPoint x="220" y="156" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="210" />
+              <mxPoint x="195" y="156" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-86" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;dashed=1;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-76" source="9zPUeIaJexzoN4Df6JNy-87" target="9zPUeIaJexzoN4Df6JNy-83" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-87" value="data-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-76" vertex="1">
+          <mxGeometry x="120" y="186" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-88" value="data-db-claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="9zPUeIaJexzoN4Df6JNy-76" vertex="1">
+          <mxGeometry x="307" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-89" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-76" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="268" y="47.09999999999991" as="sourcePoint" />
+            <mxPoint x="308" y="46.8599999999999" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-90" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-76" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="325" y="145" as="sourcePoint" />
+            <mxPoint x="245" y="48" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-91" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-76" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="323" y="156" as="sourcePoint" />
+            <mxPoint x="252" y="156" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-92" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-76" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="320" y="173" as="sourcePoint" />
+            <mxPoint x="248" y="265" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-93" value="data-db-&lt;br&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="9zPUeIaJexzoN4Df6JNy-76" vertex="1">
+          <mxGeometry x="307" y="132" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-94" value="data-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-76" vertex="1">
+          <mxGeometry x="220" y="240" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-95" value="data-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-76" vertex="1">
+          <mxGeometry x="220" y="132" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-96" value="data-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-76" vertex="1">
+          <mxGeometry x="220" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-97" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
+          <mxGeometry x="-1384" y="1200" width="390" height="330" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-98" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="9zPUeIaJexzoN4Df6JNy-97" vertex="1">
+          <mxGeometry width="390" height="330" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-99" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-97" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="77" y="210" as="sourcePoint" />
+            <mxPoint x="121" y="210" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-100" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-97" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="210" as="sourcePoint" />
+            <mxPoint x="220" y="264" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="210" />
+              <mxPoint x="195" y="264" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-101" value="search-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-97" vertex="1">
+          <mxGeometry x="30" y="186" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-102" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-97" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="210" as="sourcePoint" />
+            <mxPoint x="220" y="156" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="210" />
+              <mxPoint x="195" y="156" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-103" value="search-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-97" vertex="1">
+          <mxGeometry x="120" y="186" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-104" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-97" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="320" y="56" as="sourcePoint" />
+            <mxPoint x="252" y="156" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-105" value="search-db-claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="9zPUeIaJexzoN4Df6JNy-97" vertex="1">
+          <mxGeometry x="307" y="133" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-106" value="search-db-claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="9zPUeIaJexzoN4Df6JNy-97" vertex="1">
+          <mxGeometry x="307" y="240" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-107" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-97" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="268" y="264.0999999999999" as="sourcePoint" />
+            <mxPoint x="308" y="263.8599999999999" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-108" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-97" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="268" y="156.0999999999999" as="sourcePoint" />
+            <mxPoint x="308" y="155.8599999999999" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-109" value="search-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-97" vertex="1">
+          <mxGeometry x="220" y="132" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-110" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;jumpStyle=none;" parent="9zPUeIaJexzoN4Df6JNy-97" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="319" y="58" as="sourcePoint" />
+            <mxPoint x="248" y="265" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-111" value="search-db-&lt;br&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="9zPUeIaJexzoN4Df6JNy-97" vertex="1">
+          <mxGeometry x="307" y="25" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-112" value="search-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-97" vertex="1">
+          <mxGeometry x="220" y="240" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-113" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
+          <mxGeometry x="-1384" y="441" width="390" height="330" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-114" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="9zPUeIaJexzoN4Df6JNy-113" vertex="1">
+          <mxGeometry width="390" height="330" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-115" value="metadata-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-113" vertex="1">
+          <mxGeometry x="30" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-116" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-113" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="77" y="210" as="sourcePoint" />
+            <mxPoint x="121" y="210" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-117" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-113" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="210" as="sourcePoint" />
+            <mxPoint x="220" y="264" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="210" />
+              <mxPoint x="195" y="264" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-118" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-113" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="79" y="47" as="sourcePoint" />
+            <mxPoint x="121" y="46.75999999999999" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-119" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="9zPUeIaJexzoN4Df6JNy-113" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="47" as="sourcePoint" />
+            <mxPoint x="222" y="47" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-120" value="metadata-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-113" vertex="1">
+          <mxGeometry x="120" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-121" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="9zPUeIaJexzoN4Df6JNy-113" source="9zPUeIaJexzoN4Df6JNy-115" target="9zPUeIaJexzoN4Df6JNy-120" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-122" value="metadata-db-&lt;br&gt;replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-113" vertex="1">
+          <mxGeometry x="30" y="186" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-123" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-113" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="210" as="sourcePoint" />
+            <mxPoint x="220" y="156" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="210" />
+              <mxPoint x="195" y="156" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-124" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;dashed=1;" parent="9zPUeIaJexzoN4Df6JNy-113" source="9zPUeIaJexzoN4Df6JNy-125" target="9zPUeIaJexzoN4Df6JNy-120" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-125" value="metadata-db-&lt;br&gt;replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-113" vertex="1">
+          <mxGeometry x="120" y="186" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-126" value="metadata-db-&lt;br&gt;claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="9zPUeIaJexzoN4Df6JNy-113" vertex="1">
+          <mxGeometry x="307" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-127" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-113" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="268" y="47.09999999999991" as="sourcePoint" />
+            <mxPoint x="308" y="46.8599999999999" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-128" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-113" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="325" y="145" as="sourcePoint" />
+            <mxPoint x="245" y="48" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-129" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-113" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="323" y="156" as="sourcePoint" />
+            <mxPoint x="252" y="156" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-130" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-113" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="320" y="173" as="sourcePoint" />
+            <mxPoint x="248" y="265" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-131" value="metadata-db-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="9zPUeIaJexzoN4Df6JNy-113" vertex="1">
+          <mxGeometry x="307" y="132" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-132" value="metadata-db-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-113" vertex="1">
+          <mxGeometry x="220" y="240" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-133" value="metadata-db-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-113" vertex="1">
+          <mxGeometry x="220" y="132" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-134" value="metadata-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-113" vertex="1">
+          <mxGeometry x="220" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-135" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
+          <mxGeometry x="-2069" y="812" width="90" height="370" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-136" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="9zPUeIaJexzoN4Df6JNy-135" vertex="1">
+          <mxGeometry width="90" height="370" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-137" value="ingress" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ing" parent="9zPUeIaJexzoN4Df6JNy-135" vertex="1">
+          <mxGeometry x="20" y="18" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-138" value="ingress-pid" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ing" parent="9zPUeIaJexzoN4Df6JNy-135" vertex="1">
+          <mxGeometry x="20" y="107" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-139" value="ingress-root" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ing" parent="9zPUeIaJexzoN4Df6JNy-135" vertex="1">
+          <mxGeometry x="20" y="198" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-140" value="ingress-api" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ing" parent="9zPUeIaJexzoN4Df6JNy-135" vertex="1">
+          <mxGeometry x="20" y="288" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-141" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
+          <mxGeometry x="-778" y="445" width="390" height="326" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-142" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-141" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="237" y="3" as="sourcePoint" />
+            <mxPoint x="281" y="3" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-143" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-141" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="327" y="3" as="sourcePoint" />
+            <mxPoint x="380" y="57" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="355" y="3" />
+              <mxPoint x="355" y="57" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-144" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-141" vertex="1" connectable="0">
+          <mxGeometry width="390" height="326" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-145" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="9zPUeIaJexzoN4Df6JNy-144" vertex="1">
+          <mxGeometry width="390" height="326" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-146" value="auth-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-144" vertex="1">
+          <mxGeometry x="30" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-147" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-144" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="77" y="210" as="sourcePoint" />
+            <mxPoint x="121" y="210" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-148" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-144" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="210" as="sourcePoint" />
+            <mxPoint x="220" y="264" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="210" />
+              <mxPoint x="195" y="264" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-149" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-144" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="79" y="47" as="sourcePoint" />
+            <mxPoint x="121" y="46.75999999999999" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-150" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="9zPUeIaJexzoN4Df6JNy-144" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="47" as="sourcePoint" />
+            <mxPoint x="222" y="47" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-151" value="auth-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-144" vertex="1">
+          <mxGeometry x="120" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-152" value="auth-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-144" vertex="1">
+          <mxGeometry x="30" y="186" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-153" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-144" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="210" as="sourcePoint" />
+            <mxPoint x="220" y="156" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="210" />
+              <mxPoint x="195" y="156" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-154" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;dashed=1;" parent="9zPUeIaJexzoN4Df6JNy-144" source="9zPUeIaJexzoN4Df6JNy-155" target="9zPUeIaJexzoN4Df6JNy-151" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-155" value="auth-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-144" vertex="1">
+          <mxGeometry x="120" y="186" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-156" value="auth-db-claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc" parent="9zPUeIaJexzoN4Df6JNy-144" vertex="1">
+          <mxGeometry x="307" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-157" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-144" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="268" y="47.09999999999991" as="sourcePoint" />
+            <mxPoint x="308" y="46.8599999999999" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-158" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-144" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="325" y="145" as="sourcePoint" />
+            <mxPoint x="245" y="48" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-159" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-144" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="323" y="156" as="sourcePoint" />
+            <mxPoint x="252" y="156" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-160" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-144" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="320" y="173" as="sourcePoint" />
+            <mxPoint x="248" y="265" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-161" value="auth-db-&lt;br&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="9zPUeIaJexzoN4Df6JNy-144" vertex="1">
+          <mxGeometry x="307" y="132" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-162" value="auth-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-144" vertex="1">
+          <mxGeometry x="220" y="240" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-163" value="auth-db-replica" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-144" vertex="1">
+          <mxGeometry x="220" y="132" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-164" value="auth-db" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-144" vertex="1">
+          <mxGeometry x="220" y="23" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-165" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-114" target="9zPUeIaJexzoN4Df6JNy-179" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-166" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-41" target="9zPUeIaJexzoN4Df6JNy-145" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-167" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-179" target="9zPUeIaJexzoN4Df6JNy-41" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-168" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;exitX=1;exitY=0.75;exitDx=0;exitDy=0;startArrow=classic;startFill=1;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-179" target="9zPUeIaJexzoN4Df6JNy-77" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="-934" y="1044" />
+              <mxPoint x="-934" y="1365" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-169" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-179" target="9zPUeIaJexzoN4Df6JNy-98" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-170" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=classic;startFill=1;strokeWidth=3;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-65" target="9zPUeIaJexzoN4Df6JNy-8" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-171" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.25;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-53" target="9zPUeIaJexzoN4Df6JNy-179" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="-1444" y="600" />
+              <mxPoint x="-1444" y="931" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-172" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.25;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-53" target="9zPUeIaJexzoN4Df6JNy-114" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-173" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;strokeWidth=3;entryX=1;entryY=0.75;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-179" target="9zPUeIaJexzoN4Df6JNy-29" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="-104" y="400" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="-954" y="931" />
+              <mxPoint x="-954" y="286" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-174" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;strokeWidth=3;startArrow=classic;startFill=1;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-65" target="9zPUeIaJexzoN4Df6JNy-179" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-175" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;strokeWidth=3;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-20" target="9zPUeIaJexzoN4Df6JNy-179" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="-1454" y="745" />
+              <mxPoint x="-1454" y="988" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-176" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;jumpStyle=arc;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-20" target="9zPUeIaJexzoN4Df6JNy-98" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="-1454" y="745" />
+              <mxPoint x="-1454" y="1365" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-177" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;strokeWidth=3;jumpStyle=arc;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-8" target="9zPUeIaJexzoN4Df6JNy-179" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="-1464" y="1255" />
+              <mxPoint x="-1464" y="1150" />
+              <mxPoint x="-1286" y="1150" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-178" value="" style="group" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1" connectable="0">
+          <mxGeometry x="-1384" y="875" width="390" height="225" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-179" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="9zPUeIaJexzoN4Df6JNy-178" vertex="1">
+          <mxGeometry width="390" height="225" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-180" value="metadata-&lt;br&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;" parent="9zPUeIaJexzoN4Df6JNy-178" vertex="1">
+          <mxGeometry x="30" y="79" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-181" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-178" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="167" y="103" as="sourcePoint" />
+            <mxPoint x="220" y="49" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="195" y="103" />
+              <mxPoint x="195" y="49" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-182" value="metadata-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc" parent="9zPUeIaJexzoN4Df6JNy-178" vertex="1">
+          <mxGeometry x="120" y="79" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-183" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-178" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="321" y="98" as="sourcePoint" />
+            <mxPoint x="249" y="42" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-184" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="9zPUeIaJexzoN4Df6JNy-178" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="329" y="109" as="sourcePoint" />
+            <mxPoint x="252" y="159" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-185" value="metadata-&lt;br&gt;secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret" parent="9zPUeIaJexzoN4Df6JNy-178" vertex="1">
+          <mxGeometry x="307" y="79" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-186" value="metadata-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-178" vertex="1">
+          <mxGeometry x="220" y="133" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-187" value="metadata-&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod" parent="9zPUeIaJexzoN4Df6JNy-178" vertex="1">
+          <mxGeometry x="220" y="25" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-188" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=1;" parent="9zPUeIaJexzoN4Df6JNy-178" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="78" y="103" as="sourcePoint" />
+            <mxPoint x="122" y="103" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-189" value="" style="endArrow=classic;html=1;rounded=1;strokeWidth=1;edgeStyle=orthogonalEdgeStyle;" parent="9zPUeIaJexzoN4Df6JNy-178" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="168" y="103" as="sourcePoint" />
+            <mxPoint x="221" y="157" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="196" y="103" />
+              <mxPoint x="196" y="157" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-190" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;fillColor=#e1d5e7;strokeColor=#9673a6;startArrow=classic;startFill=1;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-29" target="9zPUeIaJexzoN4Df6JNy-6" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-191" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.25;exitDx=0;exitDy=0;entryX=0.995;entryY=0.63;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;fillColor=#e1d5e7;strokeColor=#9673a6;jumpStyle=arc;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-77" target="9zPUeIaJexzoN4Df6JNy-6" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-192" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;entryX=0.005;entryY=0.63;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=3;fillColor=#e1d5e7;strokeColor=#9673a6;jumpStyle=arc;" parent="9zPUeIaJexzoN4Df6JNy-1" source="9zPUeIaJexzoN4Df6JNy-179" target="9zPUeIaJexzoN4Df6JNy-6" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-194" value="Namespace" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ns;fontStyle=2" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1">
+          <mxGeometry x="-280" y="90" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-195" value="&lt;i&gt;Ingress&lt;/i&gt;" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=ing" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1">
+          <mxGeometry x="-280" y="200" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-196" value="Deployment" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=deploy;flipH=0;fontStyle=2" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1">
+          <mxGeometry x="-280" y="310" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-197" value="Service" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=svc;flipH=0;fontStyle=2" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1">
+          <mxGeometry x="-280" y="421" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-198" value="Pod" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pod;flipH=0;fontStyle=2" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1">
+          <mxGeometry x="-280" y="531" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-199" value="Persistent Volume&lt;br&gt;Claim" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=pvc;fontStyle=2" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1">
+          <mxGeometry x="-280" y="641" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="9zPUeIaJexzoN4Df6JNy-200" value="Secret" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=secret;fontStyle=2" parent="9zPUeIaJexzoN4Df6JNy-1" vertex="1">
+          <mxGeometry x="-280" y="751" width="50" height="48" as="geometry" />
+        </mxCell>
+        <mxCell id="pu2ujC6uqX3OPgaOAFM2-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="9zPUeIaJexzoN4Df6JNy-1" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="-2070" y="997" as="targetPoint" />
+            <mxPoint x="-2120" y="997" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+  <diagram id="DNBJDzVGt1bZ_wE9aRrb" name="Authentication (TU)">
+    <mxGraphModel dx="1434" dy="822" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="UK1E1MY9NPGJr35xhmfM-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="6Mvu0cpha-60HerBRlcp-5" target="QHHrKqhJkxuvhbEd7n-v-1" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="618" y="253" as="sourcePoint" />
+            <mxPoint x="677.5" y="221" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="6Mvu0cpha-60HerBRlcp-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="1" source="0UriubutAV_ndhbAIQOG-1" target="lwbPPWB284nzco3shXtu-11" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="0UriubutAV_ndhbAIQOG-1" value="SATOSA" style="rounded=0;whiteSpace=wrap;html=1;fillColor=default;dashed=1;verticalAlign=top;" parent="1" vertex="1">
+          <mxGeometry x="447.5" y="414" width="170" height="210" as="geometry" />
+        </mxCell>
+        <mxCell id="h4DClbYJ9orVhpn0rvY8-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="OTtTGdUG0AnkBV5d_5uu-1" target="OTtTGdUG0AnkBV5d_5uu-2" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="OTtTGdUG0AnkBV5d_5uu-1" value="SAML 2.0 IdP&lt;br&gt;(Frontend)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="467.5" y="444" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="h4DClbYJ9orVhpn0rvY8-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="OTtTGdUG0AnkBV5d_5uu-2" target="OTtTGdUG0AnkBV5d_5uu-3" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="OTtTGdUG0AnkBV5d_5uu-2" value="Middleware" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="467.5" y="504" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="OTtTGdUG0AnkBV5d_5uu-3" value="SAML 2.0 SP&lt;br&gt;(Backend)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="467.5" y="564" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="h4DClbYJ9orVhpn0rvY8-2" value="&lt;a href=&quot;https://test.dbrepo.tuwien.ac.at/api/auth/realms/dbrepo/.well-known/openid-configuration&quot;&gt;JSON&lt;br&gt;Metadata&lt;/a&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="307.5" y="181" width="70" height="90" as="geometry" />
+        </mxCell>
+        <mxCell id="lwbPPWB284nzco3shXtu-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="1" source="h4DClbYJ9orVhpn0rvY8-3" target="OTtTGdUG0AnkBV5d_5uu-3" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="410" y="576" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="h4DClbYJ9orVhpn0rvY8-3" value="&lt;a href=&quot;https://test.dbrepo.tuwien.ac.at/saml2/endpoint&quot;&gt;XML&lt;br&gt;Metadata&lt;/a&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="307.5" y="539" width="70" height="90" as="geometry" />
+        </mxCell>
+        <mxCell id="QHHrKqhJkxuvhbEd7n-v-1" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=8.600000000000023;fillColor=#dae8fc;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="677.5" y="248" width="50" height="64" as="geometry" />
+        </mxCell>
+        <mxCell id="QHHrKqhJkxuvhbEd7n-v-2" value="auth-db" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
+          <mxGeometry x="660" y="314" width="85" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="hp2oGXdcphavrsRCR3EN-1" value="&lt;b&gt;EntityID&amp;nbsp;&lt;/b&gt;https://test.dbrepo.tuwien.ac.at/saml2/backend" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="10" y="10" width="440" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="lwbPPWB284nzco3shXtu-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;dashed=1;" parent="1" source="lwbPPWB284nzco3shXtu-11" target="h4DClbYJ9orVhpn0rvY8-3" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="lwbPPWB284nzco3shXtu-11" value="TU SSO" style="rounded=0;whiteSpace=wrap;html=1;fillColor=default;dashed=1;verticalAlign=top;" parent="1" vertex="1">
+          <mxGeometry x="50" y="474" width="170" height="90" as="geometry" />
+        </mxCell>
+        <mxCell id="lwbPPWB284nzco3shXtu-12" value="SimpleSAML" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
+          <mxGeometry x="70" y="504" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="lwbPPWB284nzco3shXtu-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="1" source="lwbPPWB284nzco3shXtu-18" target="OTtTGdUG0AnkBV5d_5uu-1" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="lwbPPWB284nzco3shXtu-18" value="&lt;a href=&quot;https://test.dbrepo.tuwien.ac.at/saml2/backend&quot;&gt;XML&lt;br&gt;Metadata&lt;/a&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="307.5" y="419" width="70" height="90" as="geometry" />
+        </mxCell>
+        <mxCell id="tOMRmRFzJHC1-SXyWV1O-3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeColor=#000000;startArrow=classic;startFill=1;dashed=1;" parent="1" edge="1">
+          <mxGeometry x="-0.028" relative="1" as="geometry">
+            <mxPoint x="532" y="126" as="sourcePoint" />
+            <mxPoint as="offset" />
+            <mxPoint x="532" y="174" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="tOMRmRFzJHC1-SXyWV1O-4" value="Researcher" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" parent="1" vertex="1">
+          <mxGeometry x="517.5" y="42" width="30" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="6Mvu0cpha-60HerBRlcp-4" value="&lt;a href=&quot;https://test.dbrepo.tuwien.ac.at/api/auth/realms/dbrepo/broker/saml/endpoint/descriptor&quot;&gt;XML&lt;br&gt;Metadata&lt;/a&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="307.5" y="300" width="70" height="90" as="geometry" />
+        </mxCell>
+        <mxCell id="6Mvu0cpha-60HerBRlcp-5" value="Keycloak" style="rounded=0;whiteSpace=wrap;html=1;fillColor=default;dashed=1;verticalAlign=top;" parent="1" vertex="1">
+          <mxGeometry x="447.5" y="175" width="170" height="210" as="geometry" />
+        </mxCell>
+        <mxCell id="6Mvu0cpha-60HerBRlcp-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="6Mvu0cpha-60HerBRlcp-7" target="6Mvu0cpha-60HerBRlcp-10" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="6Mvu0cpha-60HerBRlcp-7" value="OIDC IdP" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="467.5" y="205" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="6Mvu0cpha-60HerBRlcp-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="6Mvu0cpha-60HerBRlcp-5" target="0UriubutAV_ndhbAIQOG-1" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="6Mvu0cpha-60HerBRlcp-10" value="SAML 2.0 SP&lt;br&gt;(Identity Broker)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="467.5" y="325" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="lwbPPWB284nzco3shXtu-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="1" source="h4DClbYJ9orVhpn0rvY8-2" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="467.5" y="226" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="6Mvu0cpha-60HerBRlcp-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="1" source="6Mvu0cpha-60HerBRlcp-4" target="6Mvu0cpha-60HerBRlcp-10" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="6Mvu0cpha-60HerBRlcp-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="6Mvu0cpha-60HerBRlcp-15" target="OTtTGdUG0AnkBV5d_5uu-1" edge="1">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="6Mvu0cpha-60HerBRlcp-15" value="JSON&lt;br&gt;(Denylist)" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="667.5" y="419" width="70" height="90" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>
diff --git a/misc/architecture.drawio b/misc/architecture.drawio
index c5d7c5922b22c452adfe90d6ff4f6fd2c7b93082..f53478c269f32d26d42225b21a4aa2035f038cb4 100644
--- a/misc/architecture.drawio
+++ b/misc/architecture.drawio
@@ -1,212 +1,6 @@
-<mxfile host="Electron" modified="2023-09-22T11:53:08.451Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.1.2 Chrome/106.0.5249.199 Electron/21.4.3 Safari/537.36" etag="nPzW193kQO8dlamlRgj-" version="21.1.2" type="device" pages="6">
-  <diagram name="Deployment" id="BS_rNRZWEkVqn4O3IFNu">
-    <mxGraphModel dx="1434" dy="822" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="840" pageHeight="509" math="0" shadow="0">
-      <root>
-        <mxCell id="0" />
-        <mxCell id="1" parent="0" />
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-53" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fontColor=#000000;fillColor=none;" parent="1" vertex="1">
-          <mxGeometry y="27" width="840" height="420" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-84" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=none;fontSize=10;fillColor=#DBEBFF;dashed=1;dashPattern=1 4;fillStyle=solid;" parent="1" vertex="1">
-          <mxGeometry x="25" y="56" width="790" height="120" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-85" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=none;fontSize=10;fillColor=#D5E8D4;dashed=1;dashPattern=1 4;fillStyle=solid;" parent="1" vertex="1">
-          <mxGeometry x="25" y="176" width="790" height="182" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontColor=#000000;startArrow=classic;startFill=1;" parent="1" source="qJbSU32InUa3qXW1C_Xf-1" target="qJbSU32InUa3qXW1C_Xf-32" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;fontColor=#000000;startArrow=classic;startFill=1;" parent="1" source="qJbSU32InUa3qXW1C_Xf-1" target="qJbSU32InUa3qXW1C_Xf-33" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontColor=#000000;startArrow=classic;startFill=1;" parent="1" source="qJbSU32InUa3qXW1C_Xf-1" target="qJbSU32InUa3qXW1C_Xf-31" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontColor=#000000;startArrow=classic;startFill=1;" parent="1" source="qJbSU32InUa3qXW1C_Xf-1" target="qJbSU32InUa3qXW1C_Xf-2" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.516;entryDx=0;entryDy=0;fontColor=#000000;entryPerimeter=0;startArrow=classic;startFill=1;" parent="1" source="qJbSU32InUa3qXW1C_Xf-1" target="qJbSU32InUa3qXW1C_Xf-29" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-1" value="Reverse Proxy&lt;br&gt;NGINX" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#000000;fontColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="355" y="67" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-2" value="UI&lt;br&gt;/" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="355" y="188" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-3" value="Gateway Service" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#B3B3B3;fontColor=#000000;strokeColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="355" y="248" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-5" value="Container Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="36" y="248" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-6" value="Table Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="666" y="188" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-7" value="Query Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="36" y="308" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-8" value="Database Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="516" y="188" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-9" value="Identifier Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="36" y="188" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-10" value="Authentication Service" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#B3B3B3;" parent="1" vertex="1">
-          <mxGeometry x="196" y="248" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-11" value="Analyse Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="516" y="308" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-12" value="Search Database" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="666" y="248" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-13" value="Semantics Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="516" y="248" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-14" value="Metadata Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="196" y="309" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-15" value="Broker Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="196" y="188" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-51" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontColor=#000000;endArrow=none;endFill=0;dashed=1;dashPattern=1 4;" parent="1" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="737" y="392" as="targetPoint" />
-            <mxPoint x="448" y="392" as="sourcePoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-29" value="Prometheus&lt;br&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;/prometheus&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#000000;fontColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="196" y="66" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-75" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;fontColor=#000000;startArrow=classic;startFill=1;endArrow=classic;endFill=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;dashed=1;dashPattern=1 2;" parent="1" source="qJbSU32InUa3qXW1C_Xf-30" target="qJbSU32InUa3qXW1C_Xf-29" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <Array as="points">
-              <mxPoint x="101" y="122" />
-              <mxPoint x="261" y="122" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-30" value="Alertmanager" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#000000;fontColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="36" y="66" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-31" value="cAdvisor&lt;br&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;/cadvisor&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#000000;fontColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="516" y="67" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-32" value="Jupyterhub&lt;br&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;/jupyterhub&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#000000;fontColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="516" y="127" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-33" value="Grafana&lt;br&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;/grafana&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#000000;fontColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="196" y="127" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-67" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontColor=#000000;endArrow=classic;endFill=1;" parent="1" source="qJbSU32InUa3qXW1C_Xf-44" target="qJbSU32InUa3qXW1C_Xf-62" edge="1">
-          <mxGeometry relative="1" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-52" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontColor=#000000;endArrow=none;endFill=0;dashed=1;dashPattern=1 4;" parent="1" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="389" y="391.76" as="targetPoint" />
-            <mxPoint x="79" y="391.76" as="sourcePoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-91" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontSize=10;fontColor=#000000;startArrow=classic;startFill=1;endArrow=classic;endFill=1;" parent="1" source="qJbSU32InUa3qXW1C_Xf-54" target="qJbSU32InUa3qXW1C_Xf-1" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <Array as="points">
-              <mxPoint x="420" y="37" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-54" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fontColor=#000000;fillColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="415" y="17" width="10" height="20" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-55" value="tcp 80, 443" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="426" width="66" height="20" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-74" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontColor=#000000;startArrow=classic;startFill=1;endArrow=classic;endFill=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="qJbSU32InUa3qXW1C_Xf-56" target="qJbSU32InUa3qXW1C_Xf-15" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="177" y="40" as="sourcePoint" />
-            <Array as="points">
-              <mxPoint x="177" y="37" />
-              <mxPoint x="177" y="208" />
-            </Array>
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-56" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fontColor=#000000;fillColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="173" y="17" width="10" height="20" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-57" value="tcp 5672" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="186" width="76" height="20" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-58" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fontColor=#000000;fillColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="412" y="437" width="10" height="20" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-59" value="tcp 10000+" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="426" y="451" width="76" height="20" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-62" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fontColor=#000000;fillColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="47" y="437" width="10" height="20" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-63" value="tcp 10000+" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="61" y="451" width="76" height="20" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-64" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#000000;fontColor=#000000;fillColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="758" y="437" width="10" height="20" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-65" value="tcp 10000+" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="769" y="451" width="71" height="20" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-69" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontColor=#000000;endArrow=classic;endFill=1;" parent="1" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="417" y="408" as="sourcePoint" />
-            <mxPoint x="417" y="437" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-70" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontColor=#000000;endArrow=classic;endFill=1;" parent="1" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="763" y="408" as="sourcePoint" />
-            <mxPoint x="763" y="437" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-76" value="dbrepo1.ec.tuwien.ac.at" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="738" y="24" width="60" height="30" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-80" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://gitlab.developers.cam.ac.uk/uploads/-/system/project/avatar/4542/compose.png;" parent="1" vertex="1">
-          <mxGeometry x="744.63" y="66" width="60.75" height="77" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-87" value="1)" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="794" y="143" width="27" height="30" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-88" value="2)" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="794" y="324" width="27" height="30" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-89" value="1)&amp;nbsp;https://gitlab.tuwien.ac.at/martin.weise/dbrepo-tuw/-/blob/master/docker-compose.dbrepo1.yml&lt;br&gt;2)&amp;nbsp;https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/blob/master/docker-compose.dbrepo1.yml" style="text;whiteSpace=wrap;html=1;fontSize=10;fontColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="12" y="471" width="520" height="29" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-25" value="" style="sketch=0;aspect=fixed;html=1;points=[];align=center;image;fontSize=12;image=img/lib/mscae/SQL_Database_generic.svg;" parent="1" vertex="1">
-          <mxGeometry x="398" y="367" width="38" height="50" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-44" value="" style="sketch=0;aspect=fixed;html=1;points=[];align=center;image;fontSize=12;image=img/lib/mscae/SQL_Database_generic.svg;" parent="1" vertex="1">
-          <mxGeometry x="33" y="367" width="38" height="50" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-49" value="" style="sketch=0;aspect=fixed;html=1;points=[];align=center;image;fontSize=12;image=img/lib/mscae/SQL_Database_generic.svg;" parent="1" vertex="1">
-          <mxGeometry x="745" y="367" width="38" height="50" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-93" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://assets.stickpng.com/images/58480f12cef1014c0b5e4931.png;" parent="1" vertex="1">
-          <mxGeometry x="61" y="400" width="34.67" height="23" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-94" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://assets.stickpng.com/images/58480f12cef1014c0b5e4931.png;" parent="1" vertex="1">
-          <mxGeometry x="426" y="400" width="34.67" height="23" as="geometry" />
-        </mxCell>
-        <mxCell id="qJbSU32InUa3qXW1C_Xf-95" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://assets.stickpng.com/images/58480f12cef1014c0b5e4931.png;" parent="1" vertex="1">
-          <mxGeometry x="772.17" y="400" width="34.67" height="23" as="geometry" />
-        </mxCell>
-        <mxCell id="EIwzJq8dkpXTqFd1RJj--1" value="User Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="355" y="308" width="130" height="40" as="geometry" />
-        </mxCell>
-      </root>
-    </mxGraphModel>
-  </diagram>
+<mxfile host="Electron" modified="2023-10-09T07:59:25.474Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.1.2 Chrome/106.0.5249.199 Electron/21.4.3 Safari/537.36" etag="6dOe4E5f3TKTd8nRObHK" version="21.1.2" type="device" pages="5">
   <diagram id="mvBsv1rP8O80Qe3yGnn_" name="docker-compose">
-    <mxGraphModel dx="1434" dy="822" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
+    <mxGraphModel dx="1509" dy="865" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
       <root>
         <mxCell id="0" />
         <mxCell id="1" parent="0" />
@@ -219,8 +13,10 @@
         <mxCell id="S3Av5TdVFqS_SrXukbwN-2" value="Researcher" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" parent="1" vertex="1">
           <mxGeometry x="433.5" y="146" width="30" height="60" as="geometry" />
         </mxCell>
-        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="1" source="CohMdi7D_fRk0dSxzjYi-1" target="S3Av5TdVFqS_SrXukbwN-1" edge="1">
-          <mxGeometry relative="1" as="geometry" />
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-39" value="HTTP" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;fontSize=9;" parent="1" source="CohMdi7D_fRk0dSxzjYi-1" target="S3Av5TdVFqS_SrXukbwN-1" edge="1">
+          <mxGeometry x="0.0013" relative="1" as="geometry">
+            <mxPoint as="offset" />
+          </mxGeometry>
         </mxCell>
         <mxCell id="V1Wl26Vbpgnno5Lb-wtg-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;" parent="1" source="CohMdi7D_fRk0dSxzjYi-1" target="AQz-Vj6r_5Wor37pQVs6-1" edge="1">
           <mxGeometry relative="1" as="geometry" />
@@ -228,7 +24,7 @@
         <mxCell id="V1Wl26Vbpgnno5Lb-wtg-41" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="CohMdi7D_fRk0dSxzjYi-1" target="SsHHCok0RUWS7ODwTELy-4" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-42" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="1" source="CohMdi7D_fRk0dSxzjYi-1" target="13tBXMPt0xomx7MP2VuM-1" edge="1">
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-42" value="HTTP" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=classic;startFill=1;fontSize=9;" parent="1" source="CohMdi7D_fRk0dSxzjYi-1" target="13tBXMPt0xomx7MP2VuM-1" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
         <mxCell id="V1Wl26Vbpgnno5Lb-wtg-43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="1" source="CohMdi7D_fRk0dSxzjYi-1" target="O_ELZSFbvl3Butg3bv_j-1" edge="1">
@@ -241,19 +37,31 @@
             </Array>
           </mxGeometry>
         </mxCell>
-        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-44" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="1" source="CohMdi7D_fRk0dSxzjYi-1" target="V1Wl26Vbpgnno5Lb-wtg-38" edge="1">
-          <mxGeometry relative="1" as="geometry" />
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-19" value="HTTP" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=9;" vertex="1" connectable="0" parent="V1Wl26Vbpgnno5Lb-wtg-43">
+          <mxGeometry x="-0.6602" relative="1" as="geometry">
+            <mxPoint x="-3" as="offset" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-44" value="TUSD" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;fontSize=9;" parent="1" source="CohMdi7D_fRk0dSxzjYi-1" target="V1Wl26Vbpgnno5Lb-wtg-38" edge="1">
+          <mxGeometry x="0.0034" relative="1" as="geometry">
+            <mxPoint as="offset" />
+          </mxGeometry>
         </mxCell>
         <mxCell id="V1Wl26Vbpgnno5Lb-wtg-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="1" source="CohMdi7D_fRk0dSxzjYi-1" target="hBEam5F8n4ZBPeoiEcWH-1" edge="1">
           <mxGeometry relative="1" as="geometry">
             <Array as="points">
               <mxPoint x="480" y="346" />
               <mxPoint x="538" y="346" />
-              <mxPoint x="538" y="440" />
-              <mxPoint x="625" y="440" />
+              <mxPoint x="538" y="540" />
+              <mxPoint x="625" y="540" />
             </Array>
           </mxGeometry>
         </mxCell>
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-18" value="HTTP" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=9;" vertex="1" connectable="0" parent="V1Wl26Vbpgnno5Lb-wtg-45">
+          <mxGeometry x="-0.7352" y="1" relative="1" as="geometry">
+            <mxPoint as="offset" />
+          </mxGeometry>
+        </mxCell>
         <mxCell id="CohMdi7D_fRk0dSxzjYi-1" value="Gateway Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
           <mxGeometry x="382.5" y="278" width="130" height="40" as="geometry" />
         </mxCell>
@@ -269,16 +77,33 @@
         <mxCell id="V1Wl26Vbpgnno5Lb-wtg-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;" parent="1" source="hBEam5F8n4ZBPeoiEcWH-1" target="V1Wl26Vbpgnno5Lb-wtg-34" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-48" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;" parent="1" source="hBEam5F8n4ZBPeoiEcWH-1" target="V1Wl26Vbpgnno5Lb-wtg-32" edge="1">
-          <mxGeometry relative="1" as="geometry" />
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-48" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;" parent="1" target="V1Wl26Vbpgnno5Lb-wtg-32" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="689.9999999999998" y="586" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-16" value="JDBC" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=9;" vertex="1" connectable="0" parent="V1Wl26Vbpgnno5Lb-wtg-48">
+          <mxGeometry x="-0.2851" y="-2" relative="1" as="geometry">
+            <mxPoint x="6" y="-2" as="offset" />
+          </mxGeometry>
         </mxCell>
         <mxCell id="hBEam5F8n4ZBPeoiEcWH-1" value="Metadata Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="560" y="470" width="130" height="40" as="geometry" />
+          <mxGeometry x="560" y="566" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-15" value="Spring AMQP" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;jumpStyle=arc;dashed=1;strokeWidth=1;dashPattern=1 1;fontSize=9;" edge="1" parent="1" source="AQz-Vj6r_5Wor37pQVs6-1" target="YJRAzF6yD4Hh-bAvO1PB-1">
+          <mxGeometry x="0.54" relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="370" y="394" />
+              <mxPoint x="370" y="540" />
+              <mxPoint x="449" y="540" />
+            </Array>
+            <mxPoint as="offset" />
+          </mxGeometry>
         </mxCell>
         <mxCell id="AQz-Vj6r_5Wor37pQVs6-1" value="Broker Service&lt;br&gt;(RabbitMQ)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
           <mxGeometry x="210" y="374" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-49" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;" parent="1" source="SsHHCok0RUWS7ODwTELy-4" target="V1Wl26Vbpgnno5Lb-wtg-26" edge="1">
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-49" value="HTTP" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;fontSize=9;" parent="1" source="SsHHCok0RUWS7ODwTELy-4" target="V1Wl26Vbpgnno5Lb-wtg-26" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
         <mxCell id="SsHHCok0RUWS7ODwTELy-4" value="Search Service" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
@@ -290,25 +115,22 @@
         <mxCell id="V1Wl26Vbpgnno5Lb-wtg-26" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=8.600000000000023;fillColor=#dae8fc;strokeColor=#000000;" parent="1" vertex="1">
           <mxGeometry x="740" y="362" width="50" height="64" as="geometry" />
         </mxCell>
-        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-27" value="search-db" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
-          <mxGeometry x="722.5" y="426" width="85" height="20" as="geometry" />
-        </mxCell>
         <mxCell id="A18w2Y2_AVEIFkgUy5Lv-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="1" source="V1Wl26Vbpgnno5Lb-wtg-32" edge="1">
           <mxGeometry relative="1" as="geometry">
-            <mxPoint x="850" y="490" as="targetPoint" />
+            <mxPoint x="850" y="586" as="targetPoint" />
           </mxGeometry>
         </mxCell>
         <mxCell id="V1Wl26Vbpgnno5Lb-wtg-32" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=8.600000000000023;fillColor=#dae8fc;strokeColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="740" y="458" width="50" height="64" as="geometry" />
+          <mxGeometry x="740" y="554" width="50" height="64" as="geometry" />
         </mxCell>
         <mxCell id="V1Wl26Vbpgnno5Lb-wtg-33" value="metadata-db" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
-          <mxGeometry x="722.5" y="522" width="85" height="20" as="geometry" />
+          <mxGeometry x="722.5" y="618" width="85" height="20" as="geometry" />
         </mxCell>
         <mxCell id="V1Wl26Vbpgnno5Lb-wtg-34" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=8.600000000000023;fillColor=#dae8fc;strokeColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="600" y="550" width="50" height="64" as="geometry" />
+          <mxGeometry x="600" y="660" width="50" height="64" as="geometry" />
         </mxCell>
         <mxCell id="V1Wl26Vbpgnno5Lb-wtg-35" value="data-db" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
-          <mxGeometry x="582.5" y="614" width="85" height="20" as="geometry" />
+          <mxGeometry x="582.5" y="724" width="85" height="20" as="geometry" />
         </mxCell>
         <mxCell id="V1Wl26Vbpgnno5Lb-wtg-36" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=8.600000000000023;fillColor=#dae8fc;strokeColor=#000000;" parent="1" vertex="1">
           <mxGeometry x="250" y="550" width="50" height="64" as="geometry" />
@@ -320,10 +142,10 @@
           <mxGeometry x="560" y="278" width="130" height="40" as="geometry" />
         </mxCell>
         <mxCell id="A18w2Y2_AVEIFkgUy5Lv-3" value="metadata-db-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
-          <mxGeometry x="810.5" y="504" width="108" height="20" as="geometry" />
+          <mxGeometry x="810.5" y="600" width="108" height="20" as="geometry" />
         </mxCell>
         <mxCell id="A18w2Y2_AVEIFkgUy5Lv-6" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="850.5" y="476" width="28" height="28" as="geometry" />
+          <mxGeometry x="850.5" y="572" width="28" height="28" as="geometry" />
         </mxCell>
         <mxCell id="A18w2Y2_AVEIFkgUy5Lv-7" value="search-db-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
           <mxGeometry x="810.5" y="408" width="108" height="20" as="geometry" />
@@ -335,13 +157,13 @@
           <mxGeometry x="850.5" y="380" width="28" height="28" as="geometry" />
         </mxCell>
         <mxCell id="A18w2Y2_AVEIFkgUy5Lv-10" value="data-db-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
-          <mxGeometry x="571" y="684" width="108" height="20" as="geometry" />
+          <mxGeometry x="571" y="794" width="108" height="20" as="geometry" />
         </mxCell>
         <mxCell id="A18w2Y2_AVEIFkgUy5Lv-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="A18w2Y2_AVEIFkgUy5Lv-11" target="V1Wl26Vbpgnno5Lb-wtg-35" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
         <mxCell id="A18w2Y2_AVEIFkgUy5Lv-11" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="611" y="656" width="28" height="28" as="geometry" />
+          <mxGeometry x="611" y="766" width="28" height="28" as="geometry" />
         </mxCell>
         <mxCell id="A18w2Y2_AVEIFkgUy5Lv-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="A18w2Y2_AVEIFkgUy5Lv-15" target="V1Wl26Vbpgnno5Lb-wtg-37" edge="1">
           <mxGeometry relative="1" as="geometry" />
@@ -352,32 +174,47 @@
         <mxCell id="A18w2Y2_AVEIFkgUy5Lv-16" value="auth-db-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
           <mxGeometry x="221" y="684" width="108" height="20" as="geometry" />
         </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="A18w2Y2_AVEIFkgUy5Lv-28" target="AQz-Vj6r_5Wor37pQVs6-1" edge="1">
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="A18w2Y2_AVEIFkgUy5Lv-36" target="V1Wl26Vbpgnno5Lb-wtg-38" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-28" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="121" y="380" width="28" height="28" as="geometry" />
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-36" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1">
+          <mxGeometry x="751" y="284" width="28" height="28" as="geometry" />
         </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-30" value="broker-service-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
-          <mxGeometry x="81" y="408" width="108" height="20" as="geometry" />
+        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-39" value="upload-service-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
+          <mxGeometry x="711" y="312" width="108" height="20" as="geometry" />
         </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="A18w2Y2_AVEIFkgUy5Lv-31" target="O_ELZSFbvl3Butg3bv_j-1" edge="1">
-          <mxGeometry relative="1" as="geometry" />
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-2" value="JDBC" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;fontSize=9;" edge="1" parent="1" source="YJRAzF6yD4Hh-bAvO1PB-1" target="V1Wl26Vbpgnno5Lb-wtg-34">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="448" y="582" />
+            </Array>
+          </mxGeometry>
         </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-31" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="121" y="476" width="28" height="28" as="geometry" />
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-1" value="Data Service" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="383.5" y="566" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-32" value="authentication-service-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
-          <mxGeometry x="81" y="510" width="108" height="20" as="geometry" />
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="YJRAzF6yD4Hh-bAvO1PB-12" target="V1Wl26Vbpgnno5Lb-wtg-26">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="765" y="490" />
+            </Array>
+          </mxGeometry>
         </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="A18w2Y2_AVEIFkgUy5Lv-36" target="V1Wl26Vbpgnno5Lb-wtg-38" edge="1">
-          <mxGeometry relative="1" as="geometry" />
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-17" value="HTTP" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=9;" vertex="1" connectable="0" parent="YJRAzF6yD4Hh-bAvO1PB-13">
+          <mxGeometry x="0.3792" y="-1" relative="1" as="geometry">
+            <mxPoint as="offset" />
+          </mxGeometry>
         </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-36" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="751" y="284" width="28" height="28" as="geometry" />
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-14" value="JDBC" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;fontSize=9;" edge="1" parent="1" source="YJRAzF6yD4Hh-bAvO1PB-12" target="V1Wl26Vbpgnno5Lb-wtg-32">
+          <mxGeometry x="0.5121" y="-1" relative="1" as="geometry">
+            <mxPoint as="offset" />
+          </mxGeometry>
         </mxCell>
-        <mxCell id="A18w2Y2_AVEIFkgUy5Lv-39" value="upload-service-data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
-          <mxGeometry x="711" y="312" width="108" height="20" as="geometry" />
+        <mxCell id="YJRAzF6yD4Hh-bAvO1PB-12" value="Mirror Service" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="560" y="470" width="130" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="V1Wl26Vbpgnno5Lb-wtg-27" value="search-db" style="text;html=1;strokeColor=none;fillColor=default;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
+          <mxGeometry x="722.5" y="437" width="85" height="17" as="geometry" />
         </mxCell>
       </root>
     </mxGraphModel>
@@ -2343,113 +2180,113 @@
       </root>
     </mxGraphModel>
   </diagram>
-  <diagram id="DNBJDzVGt1bZ_wE9aRrb" name="Authentication">
+  <diagram id="DNBJDzVGt1bZ_wE9aRrb" name="Authentication (TU)">
     <mxGraphModel dx="1434" dy="822" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
       <root>
         <mxCell id="0" />
         <mxCell id="1" parent="0" />
-        <mxCell id="UK1E1MY9NPGJr35xhmfM-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="6Mvu0cpha-60HerBRlcp-5" target="QHHrKqhJkxuvhbEd7n-v-1">
+        <mxCell id="UK1E1MY9NPGJr35xhmfM-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="6Mvu0cpha-60HerBRlcp-5" target="QHHrKqhJkxuvhbEd7n-v-1" edge="1">
           <mxGeometry relative="1" as="geometry">
             <mxPoint x="618" y="253" as="sourcePoint" />
             <mxPoint x="677.5" y="221" as="targetPoint" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="6Mvu0cpha-60HerBRlcp-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" edge="1" parent="1" source="0UriubutAV_ndhbAIQOG-1" target="lwbPPWB284nzco3shXtu-11">
+        <mxCell id="6Mvu0cpha-60HerBRlcp-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="1" source="0UriubutAV_ndhbAIQOG-1" target="lwbPPWB284nzco3shXtu-11" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="0UriubutAV_ndhbAIQOG-1" value="SATOSA" style="rounded=0;whiteSpace=wrap;html=1;fillColor=default;dashed=1;verticalAlign=top;" vertex="1" parent="1">
+        <mxCell id="0UriubutAV_ndhbAIQOG-1" value="SATOSA" style="rounded=0;whiteSpace=wrap;html=1;fillColor=default;dashed=1;verticalAlign=top;" parent="1" vertex="1">
           <mxGeometry x="447.5" y="414" width="170" height="210" as="geometry" />
         </mxCell>
-        <mxCell id="h4DClbYJ9orVhpn0rvY8-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="OTtTGdUG0AnkBV5d_5uu-1" target="OTtTGdUG0AnkBV5d_5uu-2">
+        <mxCell id="h4DClbYJ9orVhpn0rvY8-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="OTtTGdUG0AnkBV5d_5uu-1" target="OTtTGdUG0AnkBV5d_5uu-2" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="OTtTGdUG0AnkBV5d_5uu-1" value="SAML 2.0 IdP&lt;br&gt;(Frontend)" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+        <mxCell id="OTtTGdUG0AnkBV5d_5uu-1" value="SAML 2.0 IdP&lt;br&gt;(Frontend)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
           <mxGeometry x="467.5" y="444" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="h4DClbYJ9orVhpn0rvY8-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="OTtTGdUG0AnkBV5d_5uu-2" target="OTtTGdUG0AnkBV5d_5uu-3">
+        <mxCell id="h4DClbYJ9orVhpn0rvY8-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="OTtTGdUG0AnkBV5d_5uu-2" target="OTtTGdUG0AnkBV5d_5uu-3" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="OTtTGdUG0AnkBV5d_5uu-2" value="Middleware" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+        <mxCell id="OTtTGdUG0AnkBV5d_5uu-2" value="Middleware" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
           <mxGeometry x="467.5" y="504" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="OTtTGdUG0AnkBV5d_5uu-3" value="SAML 2.0 SP&lt;br&gt;(Backend)" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+        <mxCell id="OTtTGdUG0AnkBV5d_5uu-3" value="SAML 2.0 SP&lt;br&gt;(Backend)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
           <mxGeometry x="467.5" y="564" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="h4DClbYJ9orVhpn0rvY8-2" value="&lt;a href=&quot;https://test.dbrepo.tuwien.ac.at/api/auth/realms/dbrepo/.well-known/openid-configuration&quot;&gt;JSON&lt;br&gt;Metadata&lt;/a&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="1">
+        <mxCell id="h4DClbYJ9orVhpn0rvY8-2" value="&lt;a href=&quot;https://test.dbrepo.tuwien.ac.at/api/auth/realms/dbrepo/.well-known/openid-configuration&quot;&gt;JSON&lt;br&gt;Metadata&lt;/a&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
           <mxGeometry x="307.5" y="181" width="70" height="90" as="geometry" />
         </mxCell>
-        <mxCell id="lwbPPWB284nzco3shXtu-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" edge="1" parent="1" source="h4DClbYJ9orVhpn0rvY8-3" target="OTtTGdUG0AnkBV5d_5uu-3">
+        <mxCell id="lwbPPWB284nzco3shXtu-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="1" source="h4DClbYJ9orVhpn0rvY8-3" target="OTtTGdUG0AnkBV5d_5uu-3" edge="1">
           <mxGeometry relative="1" as="geometry">
             <mxPoint x="410" y="576" as="targetPoint" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="h4DClbYJ9orVhpn0rvY8-3" value="&lt;a href=&quot;https://test.dbrepo.tuwien.ac.at/saml2/endpoint&quot;&gt;XML&lt;br&gt;Metadata&lt;/a&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="1">
+        <mxCell id="h4DClbYJ9orVhpn0rvY8-3" value="&lt;a href=&quot;https://test.dbrepo.tuwien.ac.at/saml2/endpoint&quot;&gt;XML&lt;br&gt;Metadata&lt;/a&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
           <mxGeometry x="307.5" y="539" width="70" height="90" as="geometry" />
         </mxCell>
-        <mxCell id="QHHrKqhJkxuvhbEd7n-v-1" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=8.600000000000023;fillColor=#dae8fc;strokeColor=#000000;" vertex="1" parent="1">
+        <mxCell id="QHHrKqhJkxuvhbEd7n-v-1" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=8.600000000000023;fillColor=#dae8fc;strokeColor=#000000;" parent="1" vertex="1">
           <mxGeometry x="677.5" y="248" width="50" height="64" as="geometry" />
         </mxCell>
-        <mxCell id="QHHrKqhJkxuvhbEd7n-v-2" value="auth-db" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" vertex="1" parent="1">
+        <mxCell id="QHHrKqhJkxuvhbEd7n-v-2" value="auth-db" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
           <mxGeometry x="660" y="314" width="85" height="20" as="geometry" />
         </mxCell>
-        <mxCell id="hp2oGXdcphavrsRCR3EN-1" value="&lt;b&gt;EntityID&amp;nbsp;&lt;/b&gt;https://test.dbrepo.tuwien.ac.at/saml2/backend" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+        <mxCell id="hp2oGXdcphavrsRCR3EN-1" value="&lt;b&gt;EntityID&amp;nbsp;&lt;/b&gt;https://test.dbrepo.tuwien.ac.at/saml2/backend" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
           <mxGeometry x="10" y="10" width="440" height="20" as="geometry" />
         </mxCell>
-        <mxCell id="lwbPPWB284nzco3shXtu-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;dashed=1;" edge="1" parent="1" source="lwbPPWB284nzco3shXtu-11" target="h4DClbYJ9orVhpn0rvY8-3">
+        <mxCell id="lwbPPWB284nzco3shXtu-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;dashed=1;" parent="1" source="lwbPPWB284nzco3shXtu-11" target="h4DClbYJ9orVhpn0rvY8-3" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="lwbPPWB284nzco3shXtu-11" value="TU SSO" style="rounded=0;whiteSpace=wrap;html=1;fillColor=default;dashed=1;verticalAlign=top;" vertex="1" parent="1">
+        <mxCell id="lwbPPWB284nzco3shXtu-11" value="TU SSO" style="rounded=0;whiteSpace=wrap;html=1;fillColor=default;dashed=1;verticalAlign=top;" parent="1" vertex="1">
           <mxGeometry x="50" y="474" width="170" height="90" as="geometry" />
         </mxCell>
-        <mxCell id="lwbPPWB284nzco3shXtu-12" value="SimpleSAML" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
+        <mxCell id="lwbPPWB284nzco3shXtu-12" value="SimpleSAML" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
           <mxGeometry x="70" y="504" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="lwbPPWB284nzco3shXtu-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" edge="1" parent="1" source="lwbPPWB284nzco3shXtu-18" target="OTtTGdUG0AnkBV5d_5uu-1">
+        <mxCell id="lwbPPWB284nzco3shXtu-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="1" source="lwbPPWB284nzco3shXtu-18" target="OTtTGdUG0AnkBV5d_5uu-1" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="lwbPPWB284nzco3shXtu-18" value="&lt;a href=&quot;https://test.dbrepo.tuwien.ac.at/saml2/backend&quot;&gt;XML&lt;br&gt;Metadata&lt;/a&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="1">
+        <mxCell id="lwbPPWB284nzco3shXtu-18" value="&lt;a href=&quot;https://test.dbrepo.tuwien.ac.at/saml2/backend&quot;&gt;XML&lt;br&gt;Metadata&lt;/a&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
           <mxGeometry x="307.5" y="419" width="70" height="90" as="geometry" />
         </mxCell>
-        <mxCell id="tOMRmRFzJHC1-SXyWV1O-3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeColor=#000000;startArrow=classic;startFill=1;dashed=1;" edge="1" parent="1">
+        <mxCell id="tOMRmRFzJHC1-SXyWV1O-3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeColor=#000000;startArrow=classic;startFill=1;dashed=1;" parent="1" edge="1">
           <mxGeometry x="-0.028" relative="1" as="geometry">
             <mxPoint x="532" y="126" as="sourcePoint" />
             <mxPoint as="offset" />
             <mxPoint x="532" y="174" as="targetPoint" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="tOMRmRFzJHC1-SXyWV1O-4" value="Researcher" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" vertex="1" parent="1">
+        <mxCell id="tOMRmRFzJHC1-SXyWV1O-4" value="Researcher" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" parent="1" vertex="1">
           <mxGeometry x="517.5" y="42" width="30" height="60" as="geometry" />
         </mxCell>
-        <mxCell id="6Mvu0cpha-60HerBRlcp-4" value="&lt;a href=&quot;https://test.dbrepo.tuwien.ac.at/api/auth/realms/dbrepo/broker/saml/endpoint/descriptor&quot;&gt;XML&lt;br&gt;Metadata&lt;/a&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="1">
+        <mxCell id="6Mvu0cpha-60HerBRlcp-4" value="&lt;a href=&quot;https://test.dbrepo.tuwien.ac.at/api/auth/realms/dbrepo/broker/saml/endpoint/descriptor&quot;&gt;XML&lt;br&gt;Metadata&lt;/a&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
           <mxGeometry x="307.5" y="300" width="70" height="90" as="geometry" />
         </mxCell>
-        <mxCell id="6Mvu0cpha-60HerBRlcp-5" value="Keycloak" style="rounded=0;whiteSpace=wrap;html=1;fillColor=default;dashed=1;verticalAlign=top;" vertex="1" parent="1">
+        <mxCell id="6Mvu0cpha-60HerBRlcp-5" value="Keycloak" style="rounded=0;whiteSpace=wrap;html=1;fillColor=default;dashed=1;verticalAlign=top;" parent="1" vertex="1">
           <mxGeometry x="447.5" y="175" width="170" height="210" as="geometry" />
         </mxCell>
-        <mxCell id="6Mvu0cpha-60HerBRlcp-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="6Mvu0cpha-60HerBRlcp-7" target="6Mvu0cpha-60HerBRlcp-10">
+        <mxCell id="6Mvu0cpha-60HerBRlcp-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="6Mvu0cpha-60HerBRlcp-7" target="6Mvu0cpha-60HerBRlcp-10" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="6Mvu0cpha-60HerBRlcp-7" value="OIDC IdP" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+        <mxCell id="6Mvu0cpha-60HerBRlcp-7" value="OIDC IdP" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
           <mxGeometry x="467.5" y="205" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="6Mvu0cpha-60HerBRlcp-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="6Mvu0cpha-60HerBRlcp-5" target="0UriubutAV_ndhbAIQOG-1">
+        <mxCell id="6Mvu0cpha-60HerBRlcp-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="6Mvu0cpha-60HerBRlcp-5" target="0UriubutAV_ndhbAIQOG-1" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="6Mvu0cpha-60HerBRlcp-10" value="SAML 2.0 SP&lt;br&gt;(Identity Broker)" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+        <mxCell id="6Mvu0cpha-60HerBRlcp-10" value="SAML 2.0 SP&lt;br&gt;(Identity Broker)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
           <mxGeometry x="467.5" y="325" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="lwbPPWB284nzco3shXtu-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" edge="1" parent="1" source="h4DClbYJ9orVhpn0rvY8-2">
+        <mxCell id="lwbPPWB284nzco3shXtu-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="1" source="h4DClbYJ9orVhpn0rvY8-2" edge="1">
           <mxGeometry relative="1" as="geometry">
             <mxPoint x="467.5" y="226" as="targetPoint" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="6Mvu0cpha-60HerBRlcp-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=classic;startFill=1;endArrow=none;endFill=0;" edge="1" parent="1" source="6Mvu0cpha-60HerBRlcp-4" target="6Mvu0cpha-60HerBRlcp-10">
+        <mxCell id="6Mvu0cpha-60HerBRlcp-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="1" source="6Mvu0cpha-60HerBRlcp-4" target="6Mvu0cpha-60HerBRlcp-10" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="6Mvu0cpha-60HerBRlcp-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="6Mvu0cpha-60HerBRlcp-15" target="OTtTGdUG0AnkBV5d_5uu-1">
+        <mxCell id="6Mvu0cpha-60HerBRlcp-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="6Mvu0cpha-60HerBRlcp-15" target="OTtTGdUG0AnkBV5d_5uu-1" edge="1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="6Mvu0cpha-60HerBRlcp-15" value="JSON&lt;br&gt;(Denylist)" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="1">
+        <mxCell id="6Mvu0cpha-60HerBRlcp-15" value="JSON&lt;br&gt;(Denylist)" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
           <mxGeometry x="667.5" y="419" width="70" height="90" as="geometry" />
         </mxCell>
       </root>
diff --git a/mkdocs.yml b/mkdocs.yml
index 8ce274608efb2dfe56f84de048821a391c5032a3..0b64037695b70e07aa8dfd75622c3760017ad403 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -28,8 +28,10 @@ nav:
       - User Interface: system-other-ui.md
   - Usage:
     - Overview: usage-overview.md
+    - Authentication Service: usage-auth.md
     - Broker Service: usage-broker.md
     - Identifier Service: usage-identifier.md
+    - Upload Service: usage-upload.md
   - publications.md
   - contact.md
 extra_css: