<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="Acquire, Write, Release — the Uncontended Path" id="14-acquire-sequence">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1500" pageHeight="890" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="n.app" value="&lt;b&gt;Caller workload&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#1a2b45;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="60" y="80" width="210" height="690" as="geometry" />
        </mxCell>
        <mxCell id="_ico1" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAD+UlEQVRoge3YW4iVVRQH8N+MOWpaWo0+WDgIQnYPLYosCCohLCPD7AKhREZQ0ENUJHRDEcoKqpceuj1UEBEJWWAXCoqiG5iFpZMDEV4yKjSmnLGmh/Udzuc33+0cp+nl/GG9rL3W2mvtvfbaa2866KCDDjoI9OEmTEzxTsFy9PwvHtVEN9ZiCCN4CCdjLvoT3g9YlKfc1eakk7EQszATg9iHbfixRVuL8FENua9xVou2c9GDb8TKZOkQrmrR3kR8X2AvTffkKXe37D7zcFrB2AQsbdHeHMyuIXdeHrOdACYc4XgD03EJHsG0FP8VLMFKkZINXI1VCgJpBUuVb/VmTKlh5/kc3TczMn04mCN3fpXxS0U1mJ/inYN3K5xv0F7cjaMS3R7cKvJ4asJ7L0fvthxftuTILS9z/jL8nQgO4Qms0SxzrdCnIhV2pHibROpuzJF/LOPLZPyaI3d5kfMn4ec2HG2V7sOFeAbbU/wDIv9hBl7O6G3EBiUp+s44ON8otwuSOZfkjA9iOMPrd/gtPQpXjJPzDXo/NfdXNeRXlzkPb7fhxCC+w09tBnEqzqwpm3tbp++BVtqKnVgh8nS+ODuniwPaCrqxC1tTvA9wP+7FnwlvRKR3KebgDfyjfCUGcGyBjS48V6E/InZsZUpvEu4U90Bfin8LXlXQyBVhgViVoslvrNCfit0l+usSh/9T7CyY/KB6t+yTBfojWDaWjhb1QjML+Ls087IMO0rGZtXQr42iAP4o4E+vaXdGydiBmjZqIS+ALnF95+E4NRop0WUW4bca+m1jCT5XXkE+1GzS8nCB8kp2AOvRm9GbZPTinCDKcy2srXA8Ta+J3cjiIsUFIEt7NM/aCs3KtyrhdeGThPeWKPOjkL68PsO5daMVqfC66FGm4WIt1mvR+f4udr2BYbGDww5/6HxR5d8a7bUD7dI+HI1jxG5UyWdbbRx+iJ9ODI0X1oleqke8P6pQ66m6THUrMRb0sSgEfXgqM/Yl7sKjIk0b/EMiRY+vCuLxjMHd4nHdjqNDootM8/bixJx5RsQ5TPf8Z2u+Dhs0rPhXhMTAS6IqrBc5OiVZqayxMtqmeegWi4PaL15i5D+e7sjx59scuWvKAijDPLxY4fgArlWds5tydB/IyDTa7azcle0GAGdUBPBCTTvXi11JP9r3iEUiSvzDGdvbxc9IUa82rgE0cHNGf0ichYEM/xeRzkeMXvmfTQ16sEV73eLjtupM3Z6n3O7v9GLcIFrjXvwlLqat4qtwsAVbc8XnbumPg3itjcr9sqasDJsTGivsF40b8UmwRVS86zQv2/1jON+YYzaeFW/lhSn+BnFwV2s/WzrooIMOOijGv2hVX3koN3LcAAAAAElFTkSuQmCC;" vertex="1" parent="n.app">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.lib" value="&lt;b&gt;Client library&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#1a2b45;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="290" y="80" width="210" height="690" as="geometry" />
        </mxCell>
        <mxCell id="_ico2" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAACxUlEQVRoge3Yy4sUVxgF8F9HhQTBiUGz8AFKjzGCjwQfCw0iSFyGQTGJq2zi3o2uk53uEnQdAv4B6kZcJKDBbILjRp2JQRAS4/iIZtAwUUenXdxu6amurqm6NdPdMH3g0tVV9zt1zr236vvq0kcf8xuVkvGL8DGqeIlRXC8rqlP4HGOoJdpvWNdFXbkwhCmt4hvtNhZ3TV0ODGsvvtG+6oSQtyJjNufo92EEd2HEGJjCZI5+/0RwdwwXZS+fSXzQLXF5MCTbwPHuScuHCi5LFz+Kd7onLT82CskraWBPFzUVxk+mi3/YaQExb6FmLEz8fxHBUcFOfFJSS2HswyvTZ2AKO3LELsAunMAtJZZeczF3FhO4Vif9E/fwSCja4H1sr4s/pHUG1Pt/gwv14wpWYK3w3OwSRnugKeZ/vCtuBt9gxMzlwVy1X2NFl30GZgvDsYF9A7OEK7GBvWLgVmxgLxgYx/PY4F4xEI1eMLCkTHBaIuo0BvA2niXOr8HX+EjI3FfxPR60I+pmIvsyYeg74blI9hvDYC8aGBfKj29xd4a+PzeLbq6FRrChnbs2uIMbQhk9iC068zGzCn8nTxaZgcfYr3Vnbyl+KMAT2/amucprYAq7M0angjNzbOCzMgYuZ4hvYOccG1jfuFFMHriWo8/vBfgmcURY15uFj5ysfacR/NHuQh73p3OIGszJVcOplPgt0rcvnwqz29ZZnhv+JSSWLBwrYODTNhwLcVj4UryEkzJyQBEDNRzN4FmBfwtwrc0SVQRFDExgUwpHBecL8NSwshsGakINnyzEvijIUZM+ELlRphqtCmu0GQcjeFaX0FC6nE5m4pgyotQMNKPoErqJ9xIcQ1o3u2Zq58qIbh7BKrYKyaQq1OPLsUwoHwhvl2H8gh/xXwrnNhyoczUMPhFK4Qe4L2yYPaz/3q1f66OPPuYjXgOFSOhQ2bt/6QAAAABJRU5ErkJggg==;" vertex="1" parent="n.lib">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.arb" value="&lt;b&gt;Lock arbiter&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#1a2b45;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="530" y="80" width="210" height="690" as="geometry" />
        </mxCell>
        <mxCell id="_ico3" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAC/klEQVRoge2YO2gUQRjHf+edGg1RRI2VIjEqNhHio1AkCNFKwcLGRk/R6wQLDT6wEETBTjvB3iKKjRYBLdQEVFB8pfABvhAMRgwpNKKXs5gdnJ3b3fl29/YScH+wsHf7zff6787sLOTk5ORMJYWM/M4GeoGVwDgwCLzOKFbD2Q2MADXruAYsanQwqQI9QLvArhM4C8wIuf4UOCfwMwkMAV9E2TnYTn03m3E8kiQX1ikTSeezQBRXUsC0RlLAE+B71okEcKfZAfciu7c/kt30nYo24DPuAvqmIrELwANgANgVYdsL/CQ8+QFgZsjYhcAl1OxzE9jWgNwpolZRO5FyxJiNqPnetP8DnEet0EG0AC+sMVVgZ9oC9gUkXwNGUcqEUbHsvzriHA2J8x6YlTT5Eur9RTt7ieqK/n28QQXMRa242va5NfZg0gLKlqOtwFVkKsQpwOz+JLAWuE1KFYrAK8PJoPf/GvwqnEhZQCv+7vd7/28ipQpl6ruvkaggLeAY9d3XJFYhrPsaiQqSAlrxv3b3W9dtFQ5JCygT3n2NSwVJAVHd15gqfECggqv7GpcKrgJc3dfEVmE/7u5rolRwFSDpvkasgrT7GluFk8ICpN3X2CpUwgz3IO++xlRhhH+vClEFHMbf/S5BHFOFNxjbgJJhdMA4rwFXBI7N26Yd2AFcd4wx41SBG4I4843zTmALcBf8BcwzzgtAh8BxVCCJTSltHHNHdj+BIxP9JcFF2jgTwMOgC0uATwS/FUqOi4avqGegAzVrJY1zOqq61cBwwuSLwgIAuoF3MWNUgTMItqMtwBHgrcPhb+AWsDnAh2QlbgNOofbIUXEmUBNDd1Cyrmq6gA3ACmAB8Av4hnpnH0LdCkFUgMvG71FgcYhtwUtuPbDci/PDG/PMizPmyLPhxN2RJabkNgFgFdFbSJtlAXHWxRgPasEajzkmkB6SzxhpjnuS5CRf5pZKHGWArWIg/8W30WHUVNZsHkuMpN8o56DWh2YyhnoWcnJycqYxfwFnuMfy36Me/wAAAABJRU5ErkJggg==;" vertex="1" parent="n.arb">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.led" value="&lt;b&gt;etcd leader&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#1e3a1e;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="760" y="80" width="210" height="690" as="geometry" />
        </mxCell>
        <mxCell id="_ico4" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAB9ElEQVRoge3YvY9MURjH8Q8hhMR62YKIAoleIUS8lBIv0UhEolJS+Q/0uo1oKLQUOlsQ3SZIJBIFEhReG5FBkJVdRnHmrmP23N2bDffMcL7Jk9x5Zs69z++ec555zkOh8H+zKOFbi9VtB9KAH3iF73U/GME4ugNsH3CiTsDYAATYxCaxqQp6cSRgT52yAWMZdlYfYgHL249FB2dwFLcj/xUcwjlMJcYlY32k/eVwKnr+SrzHXb8nl9TSPll9Gc9ADp5F11/wFs+FICueNr1Zjhm4hqW95x8QUmQH23q+ETxIjJuZgdwCunghLJvpyPcVE3hXMyYp4FYmAQuxfSkBh4UpzB3cfHYPS6qg+0uJvcI/3WhKYWam8RAX8DlzLIUZ+pfQbhzHhgyxzMeUkFIvCllqFgcNxya+I9rEMcOURvdXQcelxMaUqhZ4g/vCgaViUkiXnZoxyXI6B9exGTtwRBDxEduxC1uF1FlLbgFjfpXL43iMG3jS83Vwea4b5BawJbpegfV9PsIs1JLczS1yXqhGX+Is1vXsEq4KJ6/TTW+WKlsH1Y5VQcdLaKKp0sx8EzLULNbgpvxvdy77pO8skGpsjWJV4/fRHl28lj7kDy+ltdiyldbiIFBai3/SSmsxprQWF2iltVhRWot/mdJaLBT+RX4CFqUhUb2gGVAAAAAASUVORK5CYII=;" vertex="1" parent="n.led">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.fol" value="&lt;b&gt;etcd followers&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#1e3a1e;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1000" y="80" width="210" height="690" as="geometry" />
        </mxCell>
        <mxCell id="_ico5" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAB9ElEQVRoge3YvY9MURjH8Q8hhMR62YKIAoleIUS8lBIv0UhEolJS+Q/0uo1oKLQUOlsQ3SZIJBIFEhReG5FBkJVdRnHmrmP23N2bDffMcL7Jk9x5Zs69z++ec555zkOh8H+zKOFbi9VtB9KAH3iF73U/GME4ugNsH3CiTsDYAATYxCaxqQp6cSRgT52yAWMZdlYfYgHL249FB2dwFLcj/xUcwjlMJcYlY32k/eVwKnr+SrzHXb8nl9TSPll9Gc9ADp5F11/wFs+FICueNr1Zjhm4hqW95x8QUmQH23q+ETxIjJuZgdwCunghLJvpyPcVE3hXMyYp4FYmAQuxfSkBh4UpzB3cfHYPS6qg+0uJvcI/3WhKYWam8RAX8DlzLIUZ+pfQbhzHhgyxzMeUkFIvCllqFgcNxya+I9rEMcOURvdXQcelxMaUqhZ4g/vCgaViUkiXnZoxyXI6B9exGTtwRBDxEduxC1uF1FlLbgFjfpXL43iMG3jS83Vwea4b5BawJbpegfV9PsIs1JLczS1yXqhGX+Is1vXsEq4KJ6/TTW+WKlsH1Y5VQcdLaKKp0sx8EzLULNbgpvxvdy77pO8skGpsjWJV4/fRHl28lj7kDy+ltdiyldbiIFBai3/SSmsxprQWF2iltVhRWot/mdJaLBT+RX4CFqUhUb2gGVAAAAAASUVORK5CYII=;" vertex="1" parent="n.fol">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.res" value="&lt;b&gt;Guarded resource&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#f5f5f5;strokeColor=#8c8c8c;fontColor=#333333;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1230" y="80" width="210" height="690" as="geometry" />
        </mxCell>
        <mxCell id="_ico6" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAADIUlEQVRoge3aTWwVVRjG8V9LkW+kwYDY6kLxC5QNJEIMECEGNSa6MCaGHStXrtyqxI0xJLCCDTGBBRuCiSQuTIgxhAUsABP5SAQlCFhlYaB82AqNdfFO06E9U+5M7+29rf0nbyY9M3Pmee85M/Ocd8o0zaVtHOfOwoosuvBEFp2YjTnZMf9kx9/AAK7jGv7ErziHK1VFlEmgE5vwOtbjOXRUvfAIbuI0vscRnMK/9ei4TQg+KH7JwQmKK/hMjGxlVuCHCRSdir/xqZiKpXgFt5osPh9HxH01ihkFbSfwWNmsG8jT6MexkTvaEwcvFU+TVmN1qjGVQKqtFUjqalWxNTMlE7gt7vxWo7fMwV9p/qMzH31YWyaBDuxrAeGD+AtvlRGfZzOON0n4HezG4qri86zCTpxvsOi7+A4fYmFVsV3Yj2UF+7vxAb7At7ikmtG7IVznfnyM1xTYBbyNHakdKTvdjavixjmAPfixoOM8S8RbfEnW76Jc//1Zf/1iHfB79vdYzMF7+AhrcBjv1qBDt9G/1gV8iS1YUEsnFVmObTgkplNewzepE8YagSIGREIXcBG/ZNurYmHSl108da1FmCsWR89msTzbvihGsIjkCFRZUXUYXkqORa9IZpaYDkXze1zUa0mY4tEsGsqU9EKTilQCdakGNICkrlQC19HTWC2VOF3m4LWGbXUrROGifixewtEmC+/D9irih2jDG/ga9yZQ+DV8jieriF6A5xPti/E+9uJn8Uaul+BbYrQ/wTqjyz3tCqoSRVbikjBxu/BbQaJzxdt4ZXbO49l2vmEj1+lBI3dXPCT+EA+Ky/gp2w4mrtGON0WZsUcFMzcgTNRWE/BWzfGyKClezGlJmrmHWYkZeCeL+zgpqmMnDRu5O+MU2yXM3At4FRvwVK0nl/FCM8X8XDeivUckc1lMlV4xVfrE3J4pptVCYermibLlM8KJziuhYRT1MHNDHzY21qGv0kxJLzSpmJIJTJcWGxDTpcVmCP9/lBarfKnvFh+6VwnPMvSl/pGS/dwUpvEszogy43Fh+mpmPP9qMJJ6lxanmRT8B1M0bJ9FjBNdAAAAAElFTkSuQmCC;" vertex="1" parent="n.res">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_m7" value="1. acquire(key, onFence)" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.1333;exitDx=0;exitDy=0;entryX=0.5;entryY=0.1333;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.app" target="n.lib">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m8" value="2. Acquire · session lease L" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.1913;exitDx=0;exitDy=0;entryX=0.5;entryY=0.1913;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.lib" target="n.arb">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m9" value="3. class · prefix grant · quota" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.2493;exitDx=0;exitDy=0;entryX=0.5;entryY=0.2841;entryDx=0;entryDy=0;align=left;spacingLeft=6;" edge="1" parent="1" source="n.arb" target="n.arb">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="710" y="250" />
              <mxPoint x="710" y="280" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_m10" value="4. Txn: epoch = E, key absent → put on L" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.3246;exitDx=0;exitDy=0;entryX=0.5;entryY=0.3246;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.arb" target="n.led">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m11" value="5. append entry" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.3826;exitDx=0;exitDy=0;entryX=0.5;entryY=0.3826;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.led" target="n.fol">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m12" value="6. fsync · majority ack" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=open;endFill=0;dashed=1;strokeColor=#5a6570;exitX=0.5;exitY=0.4406;exitDx=0;exitDy=0;entryX=0.5;entryY=0.4406;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.fol" target="n.led">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m13" value="7. committed · revision R" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=open;endFill=0;dashed=1;strokeColor=#5a6570;exitX=0.5;exitY=0.4986;exitDx=0;exitDy=0;entryX=0.5;entryY=0.4986;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.led" target="n.arb">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m14" value="8. granted · token (E, R)" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=open;endFill=0;dashed=1;strokeColor=#5a6570;exitX=0.5;exitY=0.5565;exitDx=0;exitDy=0;entryX=0.5;entryY=0.5565;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.arb" target="n.lib">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m15" value="9. token · remaining TTL" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=open;endFill=0;dashed=1;strokeColor=#5a6570;exitX=0.5;exitY=0.6145;exitDx=0;exitDy=0;entryX=0.5;entryY=0.6145;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.lib" target="n.app">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m16" value="10. UPDATE … WHERE fence &lt; token" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.6725;exitDx=0;exitDy=0;entryX=0.5;entryY=0.6725;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.app" target="n.res">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m17" value="11. 1 row · high-water = token" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=open;endFill=0;dashed=1;strokeColor=#5a6570;exitX=0.5;exitY=0.7304;exitDx=0;exitDy=0;entryX=0.5;entryY=0.7304;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.res" target="n.app">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m18" value="12. release()" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.7884;exitDx=0;exitDy=0;entryX=0.5;entryY=0.7884;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.app" target="n.lib">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m19" value="13. Release" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.8464;exitDx=0;exitDy=0;entryX=0.5;entryY=0.8464;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.lib" target="n.arb">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m20" value="14. Txn: delete if held on L" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.9043;exitDx=0;exitDy=0;entryX=0.5;entryY=0.9043;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.arb" target="n.led">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="title" value="Acquire, Write, Release — the Uncontended Path" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=20;fontStyle=1;fontColor=#16202c;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="20" width="1410" height="30" as="geometry" />
        </mxCell>
        <mxCell id="rule" value="" style="line;strokeWidth=1;html=1;strokeColor=#c9d3de;" vertex="1" parent="1">
          <mxGeometry x="40" y="50" width="1410" height="10" as="geometry" />
        </mxCell>
        <mxCell id="note" value="One consensus round trip to grant, one to release. Renewal rides the session lease, not the lock." style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="820" width="1410" height="20" as="geometry" />
        </mxCell>
        <mxCell id="foot-rule" value="" style="line;strokeWidth=1;html=1;strokeColor=#e3e9ef;" vertex="1" parent="1">
          <mxGeometry x="40" y="840" width="1410" height="10" as="geometry" />
        </mxCell>
        <mxCell id="foot" value="v 1.0   ·   owner Platform Architecture   ·   date 2026-09" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=9;fontColor=#9aa7b4;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="850" width="1410" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
