<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="Agentweaver" version="31.4.5" compressed="false" fluentProfile="react-optical-v1">
<diagram id="v1-identity-redemption" name="Identity broker secret redemption"><mxGraphModel page="1" pageScale="2.926654740608229" pageWidth="559" pageHeight="794" background="#efeae7" grid="0"><root>
<mxCell id="0"/><mxCell id="1" parent="0"/>
<mxCell id="fluent-paper" fluentRole="canvas" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#efeae7;strokeColor=none;strokeWidth=1;shadow=0;" parent="1" vertex="1"><mxGeometry x="0" y="250.88193202146704" width="1636" height="1822" as="geometry"/></mxCell>
<mxCell id="fluent-content" fluentRole="layout" value="" style="group;connectable=0;" parent="1" vertex="1"><mxGeometry x="0" y="250.88193202146704" width="1636" height="1822" as="geometry"/></mxCell>
<mxCell id="fragment-0" fluentRole="fragment" value="alt [Bearer and request validation]" style="shape=mxgraph.uml.frame;fillColor=none;strokeColor=#746d68;html=1;fontFamily=Segoe UI;fontSize=12;align=left;verticalAlign=top;spacing=8;" parent="fluent-content" vertex="1"><mxGeometry x="42" y="210" width="1552" height="1376" as="geometry"/></mxCell>
<mxCell id="fragment-9" fluentRole="fragment" value="alt [Fresh exact-grant precheck]" style="shape=mxgraph.uml.frame;fillColor=none;strokeColor=#746d68;html=1;fontFamily=Segoe UI;fontSize=12;align=left;verticalAlign=top;spacing=8;" parent="fluent-content" vertex="1"><mxGeometry x="52" y="648" width="1532" height="926" as="geometry"/></mxCell>
<mxCell id="fragment-19" fluentRole="fragment" value="alt [Post-acquisition grant check]" style="shape=mxgraph.uml.frame;fillColor=none;strokeColor=#746d68;html=1;fontFamily=Segoe UI;fontSize=12;align=left;verticalAlign=top;spacing=8;" parent="fluent-content" vertex="1"><mxGeometry x="62" y="1152" width="1512" height="410" as="geometry"/></mxCell>
<mxCell id="node-identity-broker-top" fluentRole="card" value="" style="group;connectable=1;" parent="fluent-content" vertex="1"><mxGeometry x="54" y="54" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-identity-broker-top-shadow-0" fluentRole="shadow" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#1c1814;strokeColor=none;strokeWidth=1;shadow=0;opacity=2;" parent="node-identity-broker-top" vertex="1"><mxGeometry x="0" y="3" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-identity-broker-top-shadow-1" fluentRole="shadow" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#1c1814;strokeColor=none;strokeWidth=1;shadow=0;opacity=3;" parent="node-identity-broker-top" vertex="1"><mxGeometry x="0" y="1" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-identity-broker-top-accent" fluentRole="accent" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#635c57;strokeColor=none;strokeWidth=1;shadow=0;" parent="node-identity-broker-top" vertex="1"><mxGeometry x="0" y="0" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-identity-broker-top-surface" fluentRole="surface" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;" parent="node-identity-broker-top" vertex="1"><mxGeometry x="5" y="0" width="335" height="132" as="geometry"/></mxCell>
<mxCell id="node-identity-broker-top-icon" fluentRole="icon" value="" style="shape=image;aspect=fixed;image=data:image/svg+xml,%3Csvg%20data-iconcloud-source%3D%22https%3A%2F%2Ficoncloud.design%2Fsearch%3Fq%3DPerson%2520Key%26amp%3Blibrary%3Dfluent-system-library%26amp%3Bcollection%3Dfluent-regular%22%20fill%3D%22%23635c57%22%20aria-hidden%3D%22true%22%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10%202a4%204%200%201%200%200%208%204%204%200%200%200%200-8ZM7%206a3%203%200%201%201%206%200%203%203%200%200%201-6%200Zm-2%205a2%202%200%200%200-2%202c0%201.7.83%202.97%202.13%203.8A8.46%208.46%200%200%200%209%2017.96v-1a7.42%207.42%200%200%201-3.33-1A3.36%203.36%200%200%201%204%2013a1%201%200%200%201%201-1h7.11a3.65%203.65%200%200%201%20.42-1H5.01Zm5.15%207.85c.1.1.21.15.35.15h2c.11%200%20.2-.03.27-.07.07-.04.12-.1.15-.17a.86.86%200%200%200%20.06-.24l.02-.25V18l.56-.02a.47.47%200%200%200%20.3-.12c.07-.07.11-.17.12-.3L14%2017h.5c.1%200%20.2-.02.27-.07a.5.5%200%200%200%20.15-.17.65.65%200%200%200%20.07-.24%202.34%202.34%200%200%200%20.01-.5v-.2c.17.07.35.11.52.14a2.87%202.87%200%200%200%202.62-.86A3.11%203.11%200%200%200%2019%2013a2.94%202.94%200%200%200-.88-2.13%203%203%200%200%200-5.03%202.84l-2.94%202.94c-.1.1-.15.21-.15.35v1.5c0%20.14.05.25.15.35Zm7.13-7.13c.15.14.22.32.22.53%200%20.2-.07.39-.22.53a.72.72%200%200%201-.53.22.72.72%200%200%201-.53-.22.72.72%200%200%201-.22-.53c0-.2.07-.39.22-.53a.72.72%200%200%201%20.53-.22c.2%200%20.39.07.53.22Z%22%20fill%3D%22%23635c57%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E%0A;" parent="node-identity-broker-top" vertex="1"><mxGeometry x="27" y="52" width="28" height="28" as="geometry"/></mxCell>
<mxCell id="node-identity-broker-top-title" fluentRole="title" value="&lt;div style=&quot;font-family:Segoe UI;font-size:20px;font-weight:600;line-height:1.15;color:#272320;&quot;&gt;Identity.Broker&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=20;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="node-identity-broker-top" vertex="1"><mxGeometry x="71" y="22.200000000000003" width="251" height="23" as="geometry"/></mxCell>
<mxCell id="node-identity-broker-top-subtitle" fluentRole="subtitle" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:400;line-height:1.15;color:#635c57;&quot;&gt;TrustedActorContext from claims; host supplies IGrantAuthority&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=16;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="node-identity-broker-top" vertex="1"><mxGeometry x="71" y="47.2" width="251" height="59.599999999999994" as="geometry"/></mxCell>
<mxCell id="node-identity-broker-bottom" fluentRole="card" value="" style="group;connectable=1;" parent="fluent-content" vertex="1"><mxGeometry x="54" y="1636" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-identity-broker-bottom-shadow-0" fluentRole="shadow" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#1c1814;strokeColor=none;strokeWidth=1;shadow=0;opacity=2;" parent="node-identity-broker-bottom" vertex="1"><mxGeometry x="0" y="3" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-identity-broker-bottom-shadow-1" fluentRole="shadow" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#1c1814;strokeColor=none;strokeWidth=1;shadow=0;opacity=3;" parent="node-identity-broker-bottom" vertex="1"><mxGeometry x="0" y="1" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-identity-broker-bottom-accent" fluentRole="accent" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#635c57;strokeColor=none;strokeWidth=1;shadow=0;" parent="node-identity-broker-bottom" vertex="1"><mxGeometry x="0" y="0" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-identity-broker-bottom-surface" fluentRole="surface" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;" parent="node-identity-broker-bottom" vertex="1"><mxGeometry x="5" y="0" width="335" height="132" as="geometry"/></mxCell>
<mxCell id="node-identity-broker-bottom-icon" fluentRole="icon" value="" style="shape=image;aspect=fixed;image=data:image/svg+xml,%3Csvg%20data-iconcloud-source%3D%22https%3A%2F%2Ficoncloud.design%2Fsearch%3Fq%3DPerson%2520Key%26amp%3Blibrary%3Dfluent-system-library%26amp%3Bcollection%3Dfluent-regular%22%20fill%3D%22%23635c57%22%20aria-hidden%3D%22true%22%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10%202a4%204%200%201%200%200%208%204%204%200%200%200%200-8ZM7%206a3%203%200%201%201%206%200%203%203%200%200%201-6%200Zm-2%205a2%202%200%200%200-2%202c0%201.7.83%202.97%202.13%203.8A8.46%208.46%200%200%200%209%2017.96v-1a7.42%207.42%200%200%201-3.33-1A3.36%203.36%200%200%201%204%2013a1%201%200%200%201%201-1h7.11a3.65%203.65%200%200%201%20.42-1H5.01Zm5.15%207.85c.1.1.21.15.35.15h2c.11%200%20.2-.03.27-.07.07-.04.12-.1.15-.17a.86.86%200%200%200%20.06-.24l.02-.25V18l.56-.02a.47.47%200%200%200%20.3-.12c.07-.07.11-.17.12-.3L14%2017h.5c.1%200%20.2-.02.27-.07a.5.5%200%200%200%20.15-.17.65.65%200%200%200%20.07-.24%202.34%202.34%200%200%200%20.01-.5v-.2c.17.07.35.11.52.14a2.87%202.87%200%200%200%202.62-.86A3.11%203.11%200%200%200%2019%2013a2.94%202.94%200%200%200-.88-2.13%203%203%200%200%200-5.03%202.84l-2.94%202.94c-.1.1-.15.21-.15.35v1.5c0%20.14.05.25.15.35Zm7.13-7.13c.15.14.22.32.22.53%200%20.2-.07.39-.22.53a.72.72%200%200%201-.53.22.72.72%200%200%201-.53-.22.72.72%200%200%201-.22-.53c0-.2.07-.39.22-.53a.72.72%200%200%201%20.53-.22c.2%200%20.39.07.53.22Z%22%20fill%3D%22%23635c57%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E%0A;" parent="node-identity-broker-bottom" vertex="1"><mxGeometry x="27" y="52" width="28" height="28" as="geometry"/></mxCell>
<mxCell id="node-identity-broker-bottom-title" fluentRole="title" value="&lt;div style=&quot;font-family:Segoe UI;font-size:20px;font-weight:600;line-height:1.15;color:#272320;&quot;&gt;Identity.Broker&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=20;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="node-identity-broker-bottom" vertex="1"><mxGeometry x="71" y="22.200000000000003" width="251" height="23" as="geometry"/></mxCell>
<mxCell id="node-identity-broker-bottom-subtitle" fluentRole="subtitle" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:400;line-height:1.15;color:#635c57;&quot;&gt;TrustedActorContext from claims; host supplies IGrantAuthority&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=16;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="node-identity-broker-bottom" vertex="1"><mxGeometry x="71" y="47.2" width="251" height="59.599999999999994" as="geometry"/></mxCell>
<mxCell id="lifeline-identity-broker" fluentRole="lifeline" value="" style="edgeStyle=none;rounded=1;arcSize=10;html=1;strokeWidth=1.8;strokeColor=#746d68;endArrow=none;endFill=1;endSize=8;fontFamily=Segoe UI;fontSize=16;labelBackgroundColor=#fdfbf8;jumpStyle=arc;jumpSize=14;dashed=1;dashPattern=8 6;startArrow=none;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" parent="fluent-content" edge="1" source="node-identity-broker-top" target="node-identity-broker-bottom"><mxGeometry relative="1" as="geometry"><Array as="points"></Array></mxGeometry></mxCell>
<mxCell id="node-authorized-redemption-top" fluentRole="card" value="" style="group;connectable=1;" parent="fluent-content" vertex="1"><mxGeometry x="450" y="54" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-authorized-redemption-top-shadow-0" fluentRole="shadow" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#1c1814;strokeColor=none;strokeWidth=1;shadow=0;opacity=2;" parent="node-authorized-redemption-top" vertex="1"><mxGeometry x="0" y="3" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-authorized-redemption-top-shadow-1" fluentRole="shadow" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#1c1814;strokeColor=none;strokeWidth=1;shadow=0;opacity=3;" parent="node-authorized-redemption-top" vertex="1"><mxGeometry x="0" y="1" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-authorized-redemption-top-accent" fluentRole="accent" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#00666d;strokeColor=none;strokeWidth=1;shadow=0;" parent="node-authorized-redemption-top" vertex="1"><mxGeometry x="0" y="0" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-authorized-redemption-top-surface" fluentRole="surface" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;" parent="node-authorized-redemption-top" vertex="1"><mxGeometry x="5" y="0" width="335" height="132" as="geometry"/></mxCell>
<mxCell id="node-authorized-redemption-top-icon" fluentRole="icon" value="" style="shape=image;aspect=fixed;image=data:image/svg+xml,%3Csvg%20data-iconcloud-source%3D%22https%3A%2F%2Ficoncloud.design%2Fsearch%3Fq%3DShield%2520Lock%26amp%3Blibrary%3Dfluent-system-library%26amp%3Bcollection%3Dfluent-regular%22%20fill%3D%22%2300666d%22%20aria-hidden%3D%22true%22%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9.72%202.08a.5.5%200%200%201%20.56%200c1.94%201.3%204.03%202.1%206.3%202.43A.5.5%200%200%201%2017%205v4.34c-.26-.38-.6-.7-1-.94V5.43a15.97%2015.97%200%200%201-5.6-2.08L10%203.1l-.4.25A15.97%2015.97%200%200%201%204%205.43V9.5c0%203.4%201.97%205.86%206%207.46V17a2%202%200%200%200%20.24.94l-.06.03a.5.5%200%200%201-.36%200C5.31%2016.23%203%2013.39%203%209.5V5a.5.5%200%200%201%20.43-.5%2015.05%2015.05%200%200%200%206.3-2.42ZM12.5%2012v-1a2%202%200%201%201%204%200v1h.5a1%201%200%200%201%201%201v4a1%201%200%200%201-1%201h-5a1%201%200%200%201-1-1v-4a1%201%200%200%201%201-1h.5Zm1-1v1h2v-1a1%201%200%201%200-2%200Zm1.75%204a.75.75%200%201%200-1.5%200%20.75.75%200%200%200%201.5%200Z%22%20fill%3D%22%2300666d%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E%0A;" parent="node-authorized-redemption-top" vertex="1"><mxGeometry x="27" y="52" width="28" height="28" as="geometry"/></mxCell>
<mxCell id="node-authorized-redemption-top-title" fluentRole="title" value="&lt;div style=&quot;font-family:Segoe UI;font-size:20px;font-weight:600;line-height:1.15;color:#272320;&quot;&gt;AuthorizedSecretRedemption&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=20;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="node-authorized-redemption-top" vertex="1"><mxGeometry x="71" y="29.9" width="251" height="46" as="geometry"/></mxCell>
<mxCell id="node-authorized-redemption-top-subtitle" fluentRole="subtitle" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:400;line-height:1.15;color:#635c57;&quot;&gt;Agentweaver.Identity library&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=16;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="node-authorized-redemption-top" vertex="1"><mxGeometry x="71" y="77.9" width="251" height="21.2" as="geometry"/></mxCell>
<mxCell id="node-authorized-redemption-bottom" fluentRole="card" value="" style="group;connectable=1;" parent="fluent-content" vertex="1"><mxGeometry x="450" y="1636" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-authorized-redemption-bottom-shadow-0" fluentRole="shadow" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#1c1814;strokeColor=none;strokeWidth=1;shadow=0;opacity=2;" parent="node-authorized-redemption-bottom" vertex="1"><mxGeometry x="0" y="3" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-authorized-redemption-bottom-shadow-1" fluentRole="shadow" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#1c1814;strokeColor=none;strokeWidth=1;shadow=0;opacity=3;" parent="node-authorized-redemption-bottom" vertex="1"><mxGeometry x="0" y="1" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-authorized-redemption-bottom-accent" fluentRole="accent" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#00666d;strokeColor=none;strokeWidth=1;shadow=0;" parent="node-authorized-redemption-bottom" vertex="1"><mxGeometry x="0" y="0" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-authorized-redemption-bottom-surface" fluentRole="surface" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;" parent="node-authorized-redemption-bottom" vertex="1"><mxGeometry x="5" y="0" width="335" height="132" as="geometry"/></mxCell>
<mxCell id="node-authorized-redemption-bottom-icon" fluentRole="icon" value="" style="shape=image;aspect=fixed;image=data:image/svg+xml,%3Csvg%20data-iconcloud-source%3D%22https%3A%2F%2Ficoncloud.design%2Fsearch%3Fq%3DShield%2520Lock%26amp%3Blibrary%3Dfluent-system-library%26amp%3Bcollection%3Dfluent-regular%22%20fill%3D%22%2300666d%22%20aria-hidden%3D%22true%22%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9.72%202.08a.5.5%200%200%201%20.56%200c1.94%201.3%204.03%202.1%206.3%202.43A.5.5%200%200%201%2017%205v4.34c-.26-.38-.6-.7-1-.94V5.43a15.97%2015.97%200%200%201-5.6-2.08L10%203.1l-.4.25A15.97%2015.97%200%200%201%204%205.43V9.5c0%203.4%201.97%205.86%206%207.46V17a2%202%200%200%200%20.24.94l-.06.03a.5.5%200%200%201-.36%200C5.31%2016.23%203%2013.39%203%209.5V5a.5.5%200%200%201%20.43-.5%2015.05%2015.05%200%200%200%206.3-2.42ZM12.5%2012v-1a2%202%200%201%201%204%200v1h.5a1%201%200%200%201%201%201v4a1%201%200%200%201-1%201h-5a1%201%200%200%201-1-1v-4a1%201%200%200%201%201-1h.5Zm1-1v1h2v-1a1%201%200%201%200-2%200Zm1.75%204a.75.75%200%201%200-1.5%200%20.75.75%200%200%200%201.5%200Z%22%20fill%3D%22%2300666d%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E%0A;" parent="node-authorized-redemption-bottom" vertex="1"><mxGeometry x="27" y="52" width="28" height="28" as="geometry"/></mxCell>
<mxCell id="node-authorized-redemption-bottom-title" fluentRole="title" value="&lt;div style=&quot;font-family:Segoe UI;font-size:20px;font-weight:600;line-height:1.15;color:#272320;&quot;&gt;AuthorizedSecretRedemption&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=20;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="node-authorized-redemption-bottom" vertex="1"><mxGeometry x="71" y="29.9" width="251" height="46" as="geometry"/></mxCell>
<mxCell id="node-authorized-redemption-bottom-subtitle" fluentRole="subtitle" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:400;line-height:1.15;color:#635c57;&quot;&gt;Agentweaver.Identity library&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=16;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="node-authorized-redemption-bottom" vertex="1"><mxGeometry x="71" y="77.9" width="251" height="21.2" as="geometry"/></mxCell>
<mxCell id="lifeline-authorized-redemption" fluentRole="lifeline" value="" style="edgeStyle=none;rounded=1;arcSize=10;html=1;strokeWidth=1.8;strokeColor=#746d68;endArrow=none;endFill=1;endSize=8;fontFamily=Segoe UI;fontSize=16;labelBackgroundColor=#fdfbf8;jumpStyle=arc;jumpSize=14;dashed=1;dashPattern=8 6;startArrow=none;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" parent="fluent-content" edge="1" source="node-authorized-redemption-top" target="node-authorized-redemption-bottom"><mxGeometry relative="1" as="geometry"><Array as="points"></Array></mxGeometry></mxCell>
<mxCell id="node-keyvault-adapter-top" fluentRole="card" value="" style="group;connectable=1;" parent="fluent-content" vertex="1"><mxGeometry x="846" y="54" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-keyvault-adapter-top-shadow-0" fluentRole="shadow" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#1c1814;strokeColor=none;strokeWidth=1;shadow=0;opacity=2;" parent="node-keyvault-adapter-top" vertex="1"><mxGeometry x="0" y="3" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-keyvault-adapter-top-shadow-1" fluentRole="shadow" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#1c1814;strokeColor=none;strokeWidth=1;shadow=0;opacity=3;" parent="node-keyvault-adapter-top" vertex="1"><mxGeometry x="0" y="1" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-keyvault-adapter-top-accent" fluentRole="accent" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#00666d;strokeColor=none;strokeWidth=1;shadow=0;" parent="node-keyvault-adapter-top" vertex="1"><mxGeometry x="0" y="0" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-keyvault-adapter-top-surface" fluentRole="surface" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;" parent="node-keyvault-adapter-top" vertex="1"><mxGeometry x="5" y="0" width="335" height="132" as="geometry"/></mxCell>
<mxCell id="node-keyvault-adapter-top-icon" fluentRole="icon" value="" style="shape=image;aspect=fixed;image=data:image/svg+xml,%3Csvg%20data-iconcloud-source%3D%22https%3A%2F%2Ficoncloud.design%2Fsearch%3Fq%3DPerson%2520Key%26amp%3Blibrary%3Dfluent-system-library%26amp%3Bcollection%3Dfluent-regular%22%20fill%3D%22%2300666d%22%20aria-hidden%3D%22true%22%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10%202a4%204%200%201%200%200%208%204%204%200%200%200%200-8ZM7%206a3%203%200%201%201%206%200%203%203%200%200%201-6%200Zm-2%205a2%202%200%200%200-2%202c0%201.7.83%202.97%202.13%203.8A8.46%208.46%200%200%200%209%2017.96v-1a7.42%207.42%200%200%201-3.33-1A3.36%203.36%200%200%201%204%2013a1%201%200%200%201%201-1h7.11a3.65%203.65%200%200%201%20.42-1H5.01Zm5.15%207.85c.1.1.21.15.35.15h2c.11%200%20.2-.03.27-.07.07-.04.12-.1.15-.17a.86.86%200%200%200%20.06-.24l.02-.25V18l.56-.02a.47.47%200%200%200%20.3-.12c.07-.07.11-.17.12-.3L14%2017h.5c.1%200%20.2-.02.27-.07a.5.5%200%200%200%20.15-.17.65.65%200%200%200%20.07-.24%202.34%202.34%200%200%200%20.01-.5v-.2c.17.07.35.11.52.14a2.87%202.87%200%200%200%202.62-.86A3.11%203.11%200%200%200%2019%2013a2.94%202.94%200%200%200-.88-2.13%203%203%200%200%200-5.03%202.84l-2.94%202.94c-.1.1-.15.21-.15.35v1.5c0%20.14.05.25.15.35Zm7.13-7.13c.15.14.22.32.22.53%200%20.2-.07.39-.22.53a.72.72%200%200%201-.53.22.72.72%200%200%201-.53-.22.72.72%200%200%201-.22-.53c0-.2.07-.39.22-.53a.72.72%200%200%201%20.53-.22c.2%200%20.39.07.53.22Z%22%20fill%3D%22%2300666d%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E%0A;" parent="node-keyvault-adapter-top" vertex="1"><mxGeometry x="27" y="52" width="28" height="28" as="geometry"/></mxCell>
<mxCell id="node-keyvault-adapter-top-title" fluentRole="title" value="&lt;div style=&quot;font-family:Segoe UI;font-size:20px;font-weight:600;line-height:1.15;color:#272320;overflow-wrap:anywhere;&quot;&gt;AzureKeyVaultSecretRedemption&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=20;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="node-keyvault-adapter-top" vertex="1"><mxGeometry x="71" y="20.3" width="251" height="46" as="geometry"/></mxCell>
<mxCell id="node-keyvault-adapter-top-subtitle" fluentRole="subtitle" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:400;line-height:1.15;color:#635c57;overflow-wrap:anywhere;&quot;&gt;Agentweaver.Secrets.AzureKeyVault library&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=16;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="node-keyvault-adapter-top" vertex="1"><mxGeometry x="71" y="68.3" width="251" height="40.4" as="geometry"/></mxCell>
<mxCell id="node-keyvault-adapter-bottom" fluentRole="card" value="" style="group;connectable=1;" parent="fluent-content" vertex="1"><mxGeometry x="846" y="1636" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-keyvault-adapter-bottom-shadow-0" fluentRole="shadow" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#1c1814;strokeColor=none;strokeWidth=1;shadow=0;opacity=2;" parent="node-keyvault-adapter-bottom" vertex="1"><mxGeometry x="0" y="3" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-keyvault-adapter-bottom-shadow-1" fluentRole="shadow" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#1c1814;strokeColor=none;strokeWidth=1;shadow=0;opacity=3;" parent="node-keyvault-adapter-bottom" vertex="1"><mxGeometry x="0" y="1" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-keyvault-adapter-bottom-accent" fluentRole="accent" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#00666d;strokeColor=none;strokeWidth=1;shadow=0;" parent="node-keyvault-adapter-bottom" vertex="1"><mxGeometry x="0" y="0" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-keyvault-adapter-bottom-surface" fluentRole="surface" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;" parent="node-keyvault-adapter-bottom" vertex="1"><mxGeometry x="5" y="0" width="335" height="132" as="geometry"/></mxCell>
<mxCell id="node-keyvault-adapter-bottom-icon" fluentRole="icon" value="" style="shape=image;aspect=fixed;image=data:image/svg+xml,%3Csvg%20data-iconcloud-source%3D%22https%3A%2F%2Ficoncloud.design%2Fsearch%3Fq%3DPerson%2520Key%26amp%3Blibrary%3Dfluent-system-library%26amp%3Bcollection%3Dfluent-regular%22%20fill%3D%22%2300666d%22%20aria-hidden%3D%22true%22%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10%202a4%204%200%201%200%200%208%204%204%200%200%200%200-8ZM7%206a3%203%200%201%201%206%200%203%203%200%200%201-6%200Zm-2%205a2%202%200%200%200-2%202c0%201.7.83%202.97%202.13%203.8A8.46%208.46%200%200%200%209%2017.96v-1a7.42%207.42%200%200%201-3.33-1A3.36%203.36%200%200%201%204%2013a1%201%200%200%201%201-1h7.11a3.65%203.65%200%200%201%20.42-1H5.01Zm5.15%207.85c.1.1.21.15.35.15h2c.11%200%20.2-.03.27-.07.07-.04.12-.1.15-.17a.86.86%200%200%200%20.06-.24l.02-.25V18l.56-.02a.47.47%200%200%200%20.3-.12c.07-.07.11-.17.12-.3L14%2017h.5c.1%200%20.2-.02.27-.07a.5.5%200%200%200%20.15-.17.65.65%200%200%200%20.07-.24%202.34%202.34%200%200%200%20.01-.5v-.2c.17.07.35.11.52.14a2.87%202.87%200%200%200%202.62-.86A3.11%203.11%200%200%200%2019%2013a2.94%202.94%200%200%200-.88-2.13%203%203%200%200%200-5.03%202.84l-2.94%202.94c-.1.1-.15.21-.15.35v1.5c0%20.14.05.25.15.35Zm7.13-7.13c.15.14.22.32.22.53%200%20.2-.07.39-.22.53a.72.72%200%200%201-.53.22.72.72%200%200%201-.53-.22.72.72%200%200%201-.22-.53c0-.2.07-.39.22-.53a.72.72%200%200%201%20.53-.22c.2%200%20.39.07.53.22Z%22%20fill%3D%22%2300666d%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E%0A;" parent="node-keyvault-adapter-bottom" vertex="1"><mxGeometry x="27" y="52" width="28" height="28" as="geometry"/></mxCell>
<mxCell id="node-keyvault-adapter-bottom-title" fluentRole="title" value="&lt;div style=&quot;font-family:Segoe UI;font-size:20px;font-weight:600;line-height:1.15;color:#272320;overflow-wrap:anywhere;&quot;&gt;AzureKeyVaultSecretRedemption&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=20;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="node-keyvault-adapter-bottom" vertex="1"><mxGeometry x="71" y="20.3" width="251" height="46" as="geometry"/></mxCell>
<mxCell id="node-keyvault-adapter-bottom-subtitle" fluentRole="subtitle" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:400;line-height:1.15;color:#635c57;overflow-wrap:anywhere;&quot;&gt;Agentweaver.Secrets.AzureKeyVault library&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=16;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="node-keyvault-adapter-bottom" vertex="1"><mxGeometry x="71" y="68.3" width="251" height="40.4" as="geometry"/></mxCell>
<mxCell id="lifeline-keyvault-adapter" fluentRole="lifeline" value="" style="edgeStyle=none;rounded=1;arcSize=10;html=1;strokeWidth=1.8;strokeColor=#746d68;endArrow=none;endFill=1;endSize=8;fontFamily=Segoe UI;fontSize=16;labelBackgroundColor=#fdfbf8;jumpStyle=arc;jumpSize=14;dashed=1;dashPattern=8 6;startArrow=none;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" parent="fluent-content" edge="1" source="node-keyvault-adapter-top" target="node-keyvault-adapter-bottom"><mxGeometry relative="1" as="geometry"><Array as="points"></Array></mxGeometry></mxCell>
<mxCell id="node-key-vault-top" fluentRole="card" value="" style="group;connectable=1;" parent="fluent-content" vertex="1"><mxGeometry x="1242" y="54" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-key-vault-top-shadow-0" fluentRole="shadow" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#1c1814;strokeColor=none;strokeWidth=1;shadow=0;opacity=2;" parent="node-key-vault-top" vertex="1"><mxGeometry x="0" y="3" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-key-vault-top-shadow-1" fluentRole="shadow" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#1c1814;strokeColor=none;strokeWidth=1;shadow=0;opacity=3;" parent="node-key-vault-top" vertex="1"><mxGeometry x="0" y="1" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-key-vault-top-accent" fluentRole="accent" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#0e700e;strokeColor=none;strokeWidth=1;shadow=0;" parent="node-key-vault-top" vertex="1"><mxGeometry x="0" y="0" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-key-vault-top-surface" fluentRole="surface" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;" parent="node-key-vault-top" vertex="1"><mxGeometry x="5" y="0" width="335" height="132" as="geometry"/></mxCell>
<mxCell id="node-key-vault-top-icon" fluentRole="icon" value="" style="shape=image;image=img/lib/azure2/security/Key_Vaults.svg;imageAspect=1;;fillColor=none;strokeColor=#0e700e;strokeWidth=1.5;" parent="node-key-vault-top" vertex="1"><mxGeometry x="27" y="52" width="28" height="28" as="geometry"/></mxCell>
<mxCell id="node-key-vault-top-title" fluentRole="title" value="&lt;div style=&quot;font-family:Segoe UI;font-size:20px;font-weight:600;line-height:1.15;color:#272320;&quot;&gt;Azure Key Vault&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=20;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="node-key-vault-top" vertex="1"><mxGeometry x="71" y="31.799999999999997" width="251" height="23" as="geometry"/></mxCell>
<mxCell id="node-key-vault-top-subtitle" fluentRole="subtitle" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:400;line-height:1.15;color:#635c57;&quot;&gt;External resource; exact secret version&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=16;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="node-key-vault-top" vertex="1"><mxGeometry x="71" y="56.8" width="251" height="40.4" as="geometry"/></mxCell>
<mxCell id="node-key-vault-bottom" fluentRole="card" value="" style="group;connectable=1;" parent="fluent-content" vertex="1"><mxGeometry x="1242" y="1636" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-key-vault-bottom-shadow-0" fluentRole="shadow" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#1c1814;strokeColor=none;strokeWidth=1;shadow=0;opacity=2;" parent="node-key-vault-bottom" vertex="1"><mxGeometry x="0" y="3" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-key-vault-bottom-shadow-1" fluentRole="shadow" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#1c1814;strokeColor=none;strokeWidth=1;shadow=0;opacity=3;" parent="node-key-vault-bottom" vertex="1"><mxGeometry x="0" y="1" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-key-vault-bottom-accent" fluentRole="accent" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#0e700e;strokeColor=none;strokeWidth=1;shadow=0;" parent="node-key-vault-bottom" vertex="1"><mxGeometry x="0" y="0" width="340" height="132" as="geometry"/></mxCell>
<mxCell id="node-key-vault-bottom-surface" fluentRole="surface" value="" style="rounded=1;absoluteArcSize=1;arcSize=32;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;" parent="node-key-vault-bottom" vertex="1"><mxGeometry x="5" y="0" width="335" height="132" as="geometry"/></mxCell>
<mxCell id="node-key-vault-bottom-icon" fluentRole="icon" value="" style="shape=image;image=img/lib/azure2/security/Key_Vaults.svg;imageAspect=1;;fillColor=none;strokeColor=#0e700e;strokeWidth=1.5;" parent="node-key-vault-bottom" vertex="1"><mxGeometry x="27" y="52" width="28" height="28" as="geometry"/></mxCell>
<mxCell id="node-key-vault-bottom-title" fluentRole="title" value="&lt;div style=&quot;font-family:Segoe UI;font-size:20px;font-weight:600;line-height:1.15;color:#272320;&quot;&gt;Azure Key Vault&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=20;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="node-key-vault-bottom" vertex="1"><mxGeometry x="71" y="31.799999999999997" width="251" height="23" as="geometry"/></mxCell>
<mxCell id="node-key-vault-bottom-subtitle" fluentRole="subtitle" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:400;line-height:1.15;color:#635c57;&quot;&gt;External resource; exact secret version&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=16;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="node-key-vault-bottom" vertex="1"><mxGeometry x="71" y="56.8" width="251" height="40.4" as="geometry"/></mxCell>
<mxCell id="lifeline-key-vault" fluentRole="lifeline" value="" style="edgeStyle=none;rounded=1;arcSize=10;html=1;strokeWidth=1.8;strokeColor=#746d68;endArrow=none;endFill=1;endSize=8;fontFamily=Segoe UI;fontSize=16;labelBackgroundColor=#fdfbf8;jumpStyle=arc;jumpSize=14;dashed=1;dashPattern=8 6;startArrow=none;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" parent="fluent-content" edge="1" source="node-key-vault-top" target="node-key-vault-bottom"><mxGeometry relative="1" as="geometry"><Array as="points"></Array></mxGeometry></mxCell>
<mxCell id="section-1" fluentRole="section" value="&lt;div style=&quot;font-family:Segoe UI;font-size:12px;font-weight:400;line-height:1.15;color:#635c57;&quot;&gt;[invalid bearer or required claims]&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=12;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="fluent-content" vertex="1"><mxGeometry x="54" y="266" width="1528" height="24" as="geometry"/></mxCell>
<mxCell id="message-2-from-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="223.5" y="307.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-2-to-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="223.5" y="335.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-2" fluentRole="message" value="" style="edgeStyle=none;rounded=1;arcSize=10;html=1;strokeWidth=1.8;strokeColor=#746d68;endArrow=classicThin;endFill=1;endSize=8;fontFamily=Segoe UI;fontSize=16;labelBackgroundColor=#fdfbf8;jumpStyle=arc;jumpSize=14;" parent="fluent-content" edge="1" source="message-2-from-anchor" target="message-2-to-anchor"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="286" y="308"/><mxPoint x="286" y="336"/></Array></mxGeometry></mxCell>
<mxCell id="message-2-label" fluentRole="edge-label" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:600;line-height:1.15;&quot;&gt;1. HTTP 401; no wrapper or backend call&lt;/div&gt;" style="rounded=1;absoluteArcSize=1;arcSize=12;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;html=1;fontFamily=Segoe UI;fontSize=16;fontColor=#3f3935;fontStyle=1;spacing=0;" parent="fluent-content" vertex="1"><mxGeometry x="262.4" y="274.8" width="363.20000000000005" height="30.4" as="geometry"/></mxCell>
<mxCell id="section-3" fluentRole="section" value="&lt;div style=&quot;font-family:Segoe UI;font-size:12px;font-weight:400;line-height:1.15;color:#635c57;&quot;&gt;[valid bearer; invalid request]&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=12;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="fluent-content" vertex="1"><mxGeometry x="54" y="362" width="1528" height="24" as="geometry"/></mxCell>
<mxCell id="message-4-from-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="223.5" y="403.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-4-to-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="223.5" y="431.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-4" fluentRole="message" value="" style="edgeStyle=none;rounded=1;arcSize=10;html=1;strokeWidth=1.8;strokeColor=#746d68;endArrow=classicThin;endFill=1;endSize=8;fontFamily=Segoe UI;fontSize=16;labelBackgroundColor=#fdfbf8;jumpStyle=arc;jumpSize=14;" parent="fluent-content" edge="1" source="message-4-from-anchor" target="message-4-to-anchor"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="286" y="404"/><mxPoint x="286" y="432"/></Array></mxGeometry></mxCell>
<mxCell id="message-4-label" fluentRole="edge-label" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:600;line-height:1.15;&quot;&gt;2. HTTP 400; no wrapper or Key Vault call&lt;/div&gt;" style="rounded=1;absoluteArcSize=1;arcSize=12;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;html=1;fontFamily=Segoe UI;fontSize=16;fontColor=#3f3935;fontStyle=1;spacing=0;" parent="fluent-content" vertex="1"><mxGeometry x="253.6" y="370.8" width="380.8" height="30.4" as="geometry"/></mxCell>
<mxCell id="section-5" fluentRole="section" value="&lt;div style=&quot;font-family:Segoe UI;font-size:12px;font-weight:400;line-height:1.15;color:#635c57;&quot;&gt;[valid bearer and exact request]&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=12;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="fluent-content" vertex="1"><mxGeometry x="54" y="458" width="1528" height="24" as="geometry"/></mxCell>
<mxCell id="message-6-from-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="223.5" y="499.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-6-to-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="619.5" y="499.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-6" fluentRole="message" value="" style="edgeStyle=none;rounded=1;arcSize=10;html=1;strokeWidth=1.8;strokeColor=#746d68;endArrow=classicThin;endFill=1;endSize=8;fontFamily=Segoe UI;fontSize=16;labelBackgroundColor=#fdfbf8;jumpStyle=arc;jumpSize=14;" parent="fluent-content" edge="1" source="message-6-from-anchor" target="message-6-to-anchor"><mxGeometry relative="1" as="geometry"><Array as="points"></Array></mxGeometry></mxCell>
<mxCell id="message-6-label" fluentRole="edge-label" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:600;line-height:1.15;&quot;&gt;3. RedeemAsync(TrustedActorContext, exact request)&lt;/div&gt;" style="rounded=1;absoluteArcSize=1;arcSize=12;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;html=1;fontFamily=Segoe UI;fontSize=16;fontColor=#3f3935;fontStyle=1;spacing=0;" parent="fluent-content" vertex="1"><mxGeometry x="191.99999999999997" y="466.8" width="460.00000000000006" height="30.4" as="geometry"/></mxCell>
<mxCell id="message-7-from-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="619.5" y="553.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-7-to-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="619.5" y="581.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-7" fluentRole="message" value="" style="edgeStyle=none;rounded=1;arcSize=10;html=1;strokeWidth=1.8;strokeColor=#746d68;endArrow=classicThin;endFill=1;endSize=8;fontFamily=Segoe UI;fontSize=16;labelBackgroundColor=#fdfbf8;jumpStyle=arc;jumpSize=14;" parent="fluent-content" edge="1" source="message-7-from-anchor" target="message-7-to-anchor"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="682" y="554"/><mxPoint x="682" y="582"/></Array></mxGeometry></mxCell>
<mxCell id="message-7-label" fluentRole="edge-label" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:600;line-height:1.15;&quot;&gt;4. FindGrantsAsync(actor, exact request)&lt;/div&gt;" style="rounded=1;absoluteArcSize=1;arcSize=12;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;html=1;fontFamily=Segoe UI;fontSize=16;fontColor=#3f3935;fontStyle=1;spacing=0;" parent="fluent-content" vertex="1"><mxGeometry x="654" y="520.8" width="372" height="30.4" as="geometry"/></mxCell>
<mxCell id="message-8-from-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="619.5" y="607.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-8-to-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="619.5" y="635.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-8" fluentRole="message" value="" style="edgeStyle=none;rounded=1;arcSize=10;html=1;strokeWidth=1.8;strokeColor=#746d68;endArrow=open;endFill=1;endSize=8;fontFamily=Segoe UI;fontSize=16;labelBackgroundColor=#fdfbf8;jumpStyle=arc;jumpSize=14;dashed=1;dashPattern=8 6;" parent="fluent-content" edge="1" source="message-8-from-anchor" target="message-8-to-anchor"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="682" y="608"/><mxPoint x="682" y="636"/></Array></mxGeometry></mxCell>
<mxCell id="message-8-label" fluentRole="edge-label" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:600;line-height:1.15;&quot;&gt;5. One fresh active exact grant / denial&lt;/div&gt;" style="rounded=1;absoluteArcSize=1;arcSize=12;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;html=1;fontFamily=Segoe UI;fontSize=16;fontColor=#3f3935;fontStyle=1;spacing=0;" parent="fluent-content" vertex="1"><mxGeometry x="654" y="574.8" width="372" height="30.4" as="geometry"/></mxCell>
<mxCell id="section-10" fluentRole="section" value="&lt;div style=&quot;font-family:Segoe UI;font-size:12px;font-weight:400;line-height:1.15;color:#635c57;&quot;&gt;[no active exact grant]&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=12;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="fluent-content" vertex="1"><mxGeometry x="64" y="704" width="1528" height="24" as="geometry"/></mxCell>
<mxCell id="message-11-from-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="619.5" y="745.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-11-to-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="223.5" y="745.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-11" fluentRole="message" value="" style="edgeStyle=none;rounded=1;arcSize=10;html=1;strokeWidth=1.8;strokeColor=#746d68;endArrow=open;endFill=1;endSize=8;fontFamily=Segoe UI;fontSize=16;labelBackgroundColor=#fdfbf8;jumpStyle=arc;jumpSize=14;dashed=1;dashPattern=8 6;" parent="fluent-content" edge="1" source="message-11-from-anchor" target="message-11-to-anchor"><mxGeometry relative="1" as="geometry"><Array as="points"></Array></mxGeometry></mxCell>
<mxCell id="message-11-label" fluentRole="edge-label" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:600;line-height:1.15;&quot;&gt;6. Denied before backend&lt;/div&gt;" style="rounded=1;absoluteArcSize=1;arcSize=12;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;html=1;fontFamily=Segoe UI;fontSize=16;fontColor=#3f3935;fontStyle=1;spacing=0;" parent="fluent-content" vertex="1"><mxGeometry x="306.4" y="712.8" width="231.20000000000002" height="30.4" as="geometry"/></mxCell>
<mxCell id="message-12-from-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="223.5" y="799.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-12-to-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="223.5" y="827.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-12" fluentRole="message" value="" style="edgeStyle=none;rounded=1;arcSize=10;html=1;strokeWidth=1.8;strokeColor=#746d68;endArrow=classicThin;endFill=1;endSize=8;fontFamily=Segoe UI;fontSize=16;labelBackgroundColor=#fdfbf8;jumpStyle=arc;jumpSize=14;" parent="fluent-content" edge="1" source="message-12-from-anchor" target="message-12-to-anchor"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="286" y="800"/><mxPoint x="286" y="828"/></Array></mxGeometry></mxCell>
<mxCell id="message-12-label" fluentRole="edge-label" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:600;line-height:1.15;&quot;&gt;7. HTTP 403; no Key Vault call&lt;/div&gt;" style="rounded=1;absoluteArcSize=1;arcSize=12;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;html=1;fontFamily=Segoe UI;fontSize=16;fontColor=#3f3935;fontStyle=1;spacing=0;" parent="fluent-content" vertex="1"><mxGeometry x="302" y="766.8" width="284" height="30.4" as="geometry"/></mxCell>
<mxCell id="section-13" fluentRole="section" value="&lt;div style=&quot;font-family:Segoe UI;font-size:12px;font-weight:400;line-height:1.15;color:#635c57;&quot;&gt;[exact grant is active]&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=12;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="fluent-content" vertex="1"><mxGeometry x="64" y="854" width="1528" height="24" as="geometry"/></mxCell>
<mxCell id="message-14-from-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="619.5" y="895.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-14-to-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="1015.5" y="895.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-14" fluentRole="message" value="" style="edgeStyle=none;rounded=1;arcSize=10;html=1;strokeWidth=1.8;strokeColor=#746d68;endArrow=classicThin;endFill=1;endSize=8;fontFamily=Segoe UI;fontSize=16;labelBackgroundColor=#fdfbf8;jumpStyle=arc;jumpSize=14;" parent="fluent-content" edge="1" source="message-14-from-anchor" target="message-14-to-anchor"><mxGeometry relative="1" as="geometry"><Array as="points"></Array></mxGeometry></mxCell>
<mxCell id="message-14-label" fluentRole="edge-label" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:600;line-height:1.15;&quot;&gt;8. ISecretRedemption.RedeemAsync(request)&lt;/div&gt;" style="rounded=1;absoluteArcSize=1;arcSize=12;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;html=1;fontFamily=Segoe UI;fontSize=16;fontColor=#3f3935;fontStyle=1;spacing=0;" parent="fluent-content" vertex="1"><mxGeometry x="627.6" y="862.8" width="380.8" height="30.4" as="geometry"/></mxCell>
<mxCell id="message-15-from-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="1015.5" y="949.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-15-to-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="1411.5" y="949.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-15" fluentRole="message" value="" style="edgeStyle=none;rounded=1;arcSize=10;html=1;strokeWidth=1.8;strokeColor=#746d68;endArrow=classicThin;endFill=1;endSize=8;fontFamily=Segoe UI;fontSize=16;labelBackgroundColor=#fdfbf8;jumpStyle=arc;jumpSize=14;" parent="fluent-content" edge="1" source="message-15-from-anchor" target="message-15-to-anchor"><mxGeometry relative="1" as="geometry"><Array as="points"></Array></mxGeometry></mxCell>
<mxCell id="message-15-label" fluentRole="edge-label" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:600;line-height:1.15;&quot;&gt;9. GetSecretAsync(id, exact version)&lt;/div&gt;" style="rounded=1;absoluteArcSize=1;arcSize=12;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;html=1;fontFamily=Segoe UI;fontSize=16;fontColor=#3f3935;fontStyle=1;spacing=0;" parent="fluent-content" vertex="1"><mxGeometry x="1045.6" y="916.8" width="336.8" height="30.4" as="geometry"/></mxCell>
<mxCell id="message-16-from-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="1411.5" y="1003.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-16-to-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="1015.5" y="1003.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-16" fluentRole="message" value="" style="edgeStyle=none;rounded=1;arcSize=10;html=1;strokeWidth=1.8;strokeColor=#746d68;endArrow=open;endFill=1;endSize=8;fontFamily=Segoe UI;fontSize=16;labelBackgroundColor=#fdfbf8;jumpStyle=arc;jumpSize=14;dashed=1;dashPattern=8 6;" parent="fluent-content" edge="1" source="message-16-from-anchor" target="message-16-to-anchor"><mxGeometry relative="1" as="geometry"><Array as="points"></Array></mxGeometry></mxCell>
<mxCell id="message-16-label" fluentRole="edge-label" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:600;line-height:1.15;&quot;&gt;10. Exact-version secret&lt;/div&gt;" style="rounded=1;absoluteArcSize=1;arcSize=12;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;html=1;fontFamily=Segoe UI;fontSize=16;fontColor=#3f3935;fontStyle=1;spacing=0;" parent="fluent-content" vertex="1"><mxGeometry x="1098.4" y="970.8" width="231.20000000000002" height="30.4" as="geometry"/></mxCell>
<mxCell id="message-17-from-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="1015.5" y="1057.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-17-to-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="619.5" y="1057.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-17" fluentRole="message" value="" style="edgeStyle=none;rounded=1;arcSize=10;html=1;strokeWidth=1.8;strokeColor=#746d68;endArrow=open;endFill=1;endSize=8;fontFamily=Segoe UI;fontSize=16;labelBackgroundColor=#fdfbf8;jumpStyle=arc;jumpSize=14;dashed=1;dashPattern=8 6;" parent="fluent-content" edge="1" source="message-17-from-anchor" target="message-17-to-anchor"><mxGeometry relative="1" as="geometry"><Array as="points"></Array></mxGeometry></mxCell>
<mxCell id="message-17-label" fluentRole="edge-label" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:600;line-height:1.15;&quot;&gt;11. Short-lived SecretCredential&lt;/div&gt;" style="rounded=1;absoluteArcSize=1;arcSize=12;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;html=1;fontFamily=Segoe UI;fontSize=16;fontColor=#3f3935;fontStyle=1;spacing=0;" parent="fluent-content" vertex="1"><mxGeometry x="667.2" y="1024.8" width="301.6" height="30.4" as="geometry"/></mxCell>
<mxCell id="message-18-from-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="619.5" y="1111.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-18-to-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="619.5" y="1139.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-18" fluentRole="message" value="" style="edgeStyle=none;rounded=1;arcSize=10;html=1;strokeWidth=1.8;strokeColor=#746d68;endArrow=classicThin;endFill=1;endSize=8;fontFamily=Segoe UI;fontSize=16;labelBackgroundColor=#fdfbf8;jumpStyle=arc;jumpSize=14;" parent="fluent-content" edge="1" source="message-18-from-anchor" target="message-18-to-anchor"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="682" y="1112"/><mxPoint x="682" y="1140"/></Array></mxGeometry></mxCell>
<mxCell id="message-18-label" fluentRole="edge-label" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:600;line-height:1.15;&quot;&gt;12. FindGrantsAsync again; compare exact revision&lt;/div&gt;" style="rounded=1;absoluteArcSize=1;arcSize=12;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;html=1;fontFamily=Segoe UI;fontSize=16;fontColor=#3f3935;fontStyle=1;spacing=0;" parent="fluent-content" vertex="1"><mxGeometry x="614.4" y="1078.8" width="451.20000000000005" height="30.4" as="geometry"/></mxCell>
<mxCell id="section-20" fluentRole="section" value="&lt;div style=&quot;font-family:Segoe UI;font-size:12px;font-weight:400;line-height:1.15;color:#635c57;&quot;&gt;[grant changed, postcheck errors, or cancellation]&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=12;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="fluent-content" vertex="1"><mxGeometry x="74" y="1208" width="1528" height="24" as="geometry"/></mxCell>
<mxCell id="message-21-from-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="619.5" y="1249.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-21-to-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="619.5" y="1277.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-21" fluentRole="message" value="" style="edgeStyle=none;rounded=1;arcSize=10;html=1;strokeWidth=1.8;strokeColor=#746d68;endArrow=classicThin;endFill=1;endSize=8;fontFamily=Segoe UI;fontSize=16;labelBackgroundColor=#fdfbf8;jumpStyle=arc;jumpSize=14;" parent="fluent-content" edge="1" source="message-21-from-anchor" target="message-21-to-anchor"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="682" y="1250"/><mxPoint x="682" y="1278"/></Array></mxGeometry></mxCell>
<mxCell id="message-21-label" fluentRole="edge-label" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:600;line-height:1.15;&quot;&gt;13. Invalidate acquired credential&lt;/div&gt;" style="rounded=1;absoluteArcSize=1;arcSize=12;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;html=1;fontFamily=Segoe UI;fontSize=16;fontColor=#3f3935;fontStyle=1;spacing=0;" parent="fluent-content" vertex="1"><mxGeometry x="680.4" y="1216.8" width="319.20000000000005" height="30.4" as="geometry"/></mxCell>
<mxCell id="message-22-from-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="619.5" y="1303.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-22-to-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="223.5" y="1303.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-22" fluentRole="message" value="" style="edgeStyle=none;rounded=1;arcSize=10;html=1;strokeWidth=1.8;strokeColor=#746d68;endArrow=open;endFill=1;endSize=8;fontFamily=Segoe UI;fontSize=16;labelBackgroundColor=#fdfbf8;jumpStyle=arc;jumpSize=14;dashed=1;dashPattern=8 6;" parent="fluent-content" edge="1" source="message-22-from-anchor" target="message-22-to-anchor"><mxGeometry relative="1" as="geometry"><Array as="points"></Array></mxGeometry></mxCell>
<mxCell id="message-22-label" fluentRole="edge-label" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:600;line-height:1.15;&quot;&gt;14. Throw denial or propagate error/cancellation&lt;/div&gt;" style="rounded=1;absoluteArcSize=1;arcSize=12;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;html=1;fontFamily=Segoe UI;fontSize=16;fontColor=#3f3935;fontStyle=1;spacing=0;" parent="fluent-content" vertex="1"><mxGeometry x="200.79999999999998" y="1270.8" width="442.40000000000003" height="30.4" as="geometry"/></mxCell>
<mxCell id="section-23" fluentRole="section" value="&lt;div style=&quot;font-family:Segoe UI;font-size:12px;font-weight:400;line-height:1.15;color:#635c57;&quot;&gt;[same exact active grant]&lt;/div&gt;" style="text;html=1;fillColor=none;strokeColor=none;fontFamily=Segoe UI;fontSize=12;spacing=0;align=left;verticalAlign=top;whiteSpace=wrap;" parent="fluent-content" vertex="1"><mxGeometry x="74" y="1358" width="1528" height="24" as="geometry"/></mxCell>
<mxCell id="message-24-from-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="619.5" y="1399.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-24-to-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="619.5" y="1427.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-24" fluentRole="message" value="" style="edgeStyle=none;rounded=1;arcSize=10;html=1;strokeWidth=1.8;strokeColor=#746d68;endArrow=classicThin;endFill=1;endSize=8;fontFamily=Segoe UI;fontSize=16;labelBackgroundColor=#fdfbf8;jumpStyle=arc;jumpSize=14;" parent="fluent-content" edge="1" source="message-24-from-anchor" target="message-24-to-anchor"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="682" y="1400"/><mxPoint x="682" y="1428"/></Array></mxGeometry></mxCell>
<mxCell id="message-24-label" fluentRole="edge-label" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:600;line-height:1.15;&quot;&gt;15. LimitLifetime(grant expiry)&lt;/div&gt;" style="rounded=1;absoluteArcSize=1;arcSize=12;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;html=1;fontFamily=Segoe UI;fontSize=16;fontColor=#3f3935;fontStyle=1;spacing=0;" parent="fluent-content" vertex="1"><mxGeometry x="693.6" y="1366.8" width="292.8" height="30.4" as="geometry"/></mxCell>
<mxCell id="message-25-from-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="619.5" y="1453.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-25-to-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="223.5" y="1453.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-25" fluentRole="message" value="" style="edgeStyle=none;rounded=1;arcSize=10;html=1;strokeWidth=1.8;strokeColor=#746d68;endArrow=open;endFill=1;endSize=8;fontFamily=Segoe UI;fontSize=16;labelBackgroundColor=#fdfbf8;jumpStyle=arc;jumpSize=14;dashed=1;dashPattern=8 6;" parent="fluent-content" edge="1" source="message-25-from-anchor" target="message-25-to-anchor"><mxGeometry relative="1" as="geometry"><Array as="points"></Array></mxGeometry></mxCell>
<mxCell id="message-25-label" fluentRole="edge-label" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:600;line-height:1.15;&quot;&gt;16. Return credential&lt;/div&gt;" style="rounded=1;absoluteArcSize=1;arcSize=12;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;html=1;fontFamily=Segoe UI;fontSize=16;fontColor=#3f3935;fontStyle=1;spacing=0;" parent="fluent-content" vertex="1"><mxGeometry x="319.6" y="1420.8" width="204.8" height="30.4" as="geometry"/></mxCell>
<mxCell id="message-26-from-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="223.5" y="1507.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-26-to-anchor" fluentRole="anchor" value="" style="ellipse;opacity=0;fillOpacity=0;strokeOpacity=0;" parent="fluent-content" vertex="1"><mxGeometry x="223.5" y="1535.5" width="1" height="1" as="geometry"/></mxCell>
<mxCell id="message-26" fluentRole="message" value="" style="edgeStyle=none;rounded=1;arcSize=10;html=1;strokeWidth=1.8;strokeColor=#746d68;endArrow=classicThin;endFill=1;endSize=8;fontFamily=Segoe UI;fontSize=16;labelBackgroundColor=#fdfbf8;jumpStyle=arc;jumpSize=14;" parent="fluent-content" edge="1" source="message-26-from-anchor" target="message-26-to-anchor"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="286" y="1508"/><mxPoint x="286" y="1536"/></Array></mxGeometry></mxCell>
<mxCell id="message-26-label" fluentRole="edge-label" value="&lt;div style=&quot;font-family:Segoe UI;font-size:16px;font-weight:600;line-height:1.15;&quot;&gt;17. Write response; finally invalidate credential&lt;/div&gt;" style="rounded=1;absoluteArcSize=1;arcSize=12;fillColor=#fdfbf8;strokeColor=#ece7e3;strokeWidth=1;shadow=0;html=1;fontFamily=Segoe UI;fontSize=16;fontColor=#3f3935;fontStyle=1;spacing=0;" parent="fluent-content" vertex="1"><mxGeometry x="218.39999999999998" y="1474.8" width="451.20000000000005" height="30.4" as="geometry"/></mxCell>
</root></mxGraphModel></diagram></mxfile>
