arm-ka-docs/model/diagrams/part04_files_jobs.svg
Andrey Epifancev 2fee6a3b6e docs(#202): DBML v5.25 — факты качества первички (AURORA-1759)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-11-05 14:02:35 +04:00

850 lines
100 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.47.0 (20210316.0004)
-->
<!-- Title: dbml Pages: 1 -->
<svg width="3716pt" height="4991pt"
viewBox="0.00 0.00 3715.82 4991.21" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 4987.21)">
<title>dbml</title>
<!-- document_type -->
<g id="document_type" class="node">
<title>document_type</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="1345.56" cy="-2102.1" rx="260.84" ry="257.27"/>
<polygon fill="#29235c" stroke="transparent" points="1163.56,-2222.1 1163.56,-2282.1 1528.56,-2282.1 1528.56,-2222.1 1163.56,-2222.1"/>
<polygon fill="none" stroke="#29235c" points="1163.56,-2222.1 1163.56,-2282.1 1528.56,-2282.1 1528.56,-2222.1 1163.56,-2222.1"/>
<text text-anchor="start" x="1174.44" y="-2243.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;document_type &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1163.56,-2162.1 1163.56,-2222.1 1528.56,-2222.1 1528.56,-2162.1 1163.56,-2162.1"/>
<polygon fill="none" stroke="#29235c" points="1163.56,-2162.1 1163.56,-2222.1 1528.56,-2222.1 1528.56,-2162.1 1163.56,-2162.1"/>
<text text-anchor="start" x="1235.81" y="-2183.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;BALANCE &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1163.56,-2102.1 1163.56,-2162.1 1528.56,-2162.1 1528.56,-2102.1 1163.56,-2102.1"/>
<polygon fill="none" stroke="#29235c" points="1163.56,-2102.1 1163.56,-2162.1 1528.56,-2162.1 1528.56,-2102.1 1163.56,-2102.1"/>
<text text-anchor="start" x="1246.5" y="-2123.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;INCOME &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1163.56,-2042.1 1163.56,-2102.1 1528.56,-2102.1 1528.56,-2042.1 1163.56,-2042.1"/>
<polygon fill="none" stroke="#29235c" points="1163.56,-2042.1 1163.56,-2102.1 1528.56,-2102.1 1528.56,-2042.1 1163.56,-2042.1"/>
<text text-anchor="start" x="1276.7" y="-2063.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;OSV &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1163.56,-1982.1 1163.56,-2042.1 1528.56,-2042.1 1528.56,-1982.1 1163.56,-1982.1"/>
<polygon fill="none" stroke="#29235c" points="1163.56,-1982.1 1163.56,-2042.1 1528.56,-2042.1 1528.56,-1982.1 1163.56,-1982.1"/>
<text text-anchor="start" x="1206.49" y="-2003.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;DISCLOSURE &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1163.56,-1922.1 1163.56,-1982.1 1528.56,-1982.1 1528.56,-1922.1 1163.56,-1922.1"/>
<polygon fill="none" stroke="#29235c" points="1163.56,-1922.1 1163.56,-1982.1 1528.56,-1982.1 1528.56,-1922.1 1163.56,-1922.1"/>
<text text-anchor="start" x="1254.5" y="-1943.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;OTHER &#160;&#160;&#160;</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1162.06,-1921.1 1162.06,-2283.1 1529.06,-2283.1 1529.06,-1921.1 1162.06,-1921.1"/>
</g>
<!-- file_type -->
<g id="file_type" class="node">
<title>file_type</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="2084.43" cy="-1067.1" rx="190.42" ry="299.63"/>
<polygon fill="#29235c" stroke="transparent" points="1952.43,-1217.1 1952.43,-1277.1 2217.43,-1277.1 2217.43,-1217.1 1952.43,-1217.1"/>
<polygon fill="none" stroke="#29235c" points="1952.43,-1217.1 1952.43,-1277.1 2217.43,-1277.1 2217.43,-1217.1 1952.43,-1217.1"/>
<text text-anchor="start" x="1963.11" y="-1238.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;file_type &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1952.43,-1157.1 1952.43,-1217.1 2217.43,-1217.1 2217.43,-1157.1 1952.43,-1157.1"/>
<polygon fill="none" stroke="#29235c" points="1952.43,-1157.1 1952.43,-1217.1 2217.43,-1217.1 2217.43,-1157.1 1952.43,-1157.1"/>
<text text-anchor="start" x="2019.12" y="-1178.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;XLS &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1952.43,-1097.1 1952.43,-1157.1 2217.43,-1157.1 2217.43,-1097.1 1952.43,-1097.1"/>
<polygon fill="none" stroke="#29235c" points="1952.43,-1097.1 1952.43,-1157.1 2217.43,-1157.1 2217.43,-1097.1 1952.43,-1097.1"/>
<text text-anchor="start" x="2008.45" y="-1118.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;XLSX &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1952.43,-1037.1 1952.43,-1097.1 2217.43,-1097.1 2217.43,-1037.1 1952.43,-1037.1"/>
<polygon fill="none" stroke="#29235c" points="1952.43,-1037.1 1952.43,-1097.1 2217.43,-1097.1 2217.43,-1037.1 1952.43,-1037.1"/>
<text text-anchor="start" x="2008.45" y="-1058.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;XLSB &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1952.43,-977.1 1952.43,-1037.1 2217.43,-1037.1 2217.43,-977.1 1952.43,-977.1"/>
<polygon fill="none" stroke="#29235c" points="1952.43,-977.1 1952.43,-1037.1 2217.43,-1037.1 2217.43,-977.1 1952.43,-977.1"/>
<text text-anchor="start" x="2017.36" y="-998.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;PDF &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1952.43,-917.1 1952.43,-977.1 2217.43,-977.1 2217.43,-917.1 1952.43,-917.1"/>
<polygon fill="none" stroke="#29235c" points="1952.43,-917.1 1952.43,-977.1 2217.43,-977.1 2217.43,-917.1 1952.43,-917.1"/>
<text text-anchor="start" x="2014.69" y="-938.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;PNG &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1952.43,-857.1 1952.43,-917.1 2217.43,-917.1 2217.43,-857.1 1952.43,-857.1"/>
<polygon fill="none" stroke="#29235c" points="1952.43,-857.1 1952.43,-917.1 2217.43,-917.1 2217.43,-857.1 1952.43,-857.1"/>
<text text-anchor="start" x="2018.24" y="-878.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;JPG &#160;&#160;&#160;</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1950.93,-856.1 1950.93,-1278.1 2217.93,-1278.1 2217.93,-856.1 1950.93,-856.1"/>
</g>
<!-- recognition_pipeline -->
<g id="recognition_pipeline" class="node">
<title>recognition_pipeline</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="2811.98" cy="-4853.1" rx="307.68" ry="130.22"/>
<polygon fill="#29235c" stroke="transparent" points="2596.98,-4883.1 2596.98,-4943.1 3027.98,-4943.1 3027.98,-4883.1 2596.98,-4883.1"/>
<polygon fill="none" stroke="#29235c" points="2596.98,-4883.1 2596.98,-4943.1 3027.98,-4943.1 3027.98,-4883.1 2596.98,-4883.1"/>
<text text-anchor="start" x="2607.97" y="-4904.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;recognition_pipeline &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2596.98,-4823.1 2596.98,-4883.1 3027.98,-4883.1 3027.98,-4823.1 2596.98,-4823.1"/>
<polygon fill="none" stroke="#29235c" points="2596.98,-4823.1 2596.98,-4883.1 3027.98,-4883.1 3027.98,-4823.1 2596.98,-4823.1"/>
<text text-anchor="start" x="2728" y="-4844.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;tabular &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2596.98,-4763.1 2596.98,-4823.1 3027.98,-4823.1 3027.98,-4763.1 2596.98,-4763.1"/>
<polygon fill="none" stroke="#29235c" points="2596.98,-4763.1 2596.98,-4823.1 3027.98,-4823.1 3027.98,-4763.1 2596.98,-4763.1"/>
<text text-anchor="start" x="2733.35" y="-4784.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;image &#160;&#160;&#160;</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="2595.48,-4762.1 2595.48,-4944.1 3028.48,-4944.1 3028.48,-4762.1 2595.48,-4762.1"/>
</g>
<!-- period_quarter -->
<g id="period_quarter" class="node">
<title>period_quarter</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="1345.56" cy="-1612.1" rx="253.29" ry="214.92"/>
<polygon fill="#29235c" stroke="transparent" points="1168.56,-1702.1 1168.56,-1762.1 1522.56,-1762.1 1522.56,-1702.1 1168.56,-1702.1"/>
<polygon fill="none" stroke="#29235c" points="1168.56,-1702.1 1168.56,-1762.1 1522.56,-1762.1 1522.56,-1702.1 1168.56,-1702.1"/>
<text text-anchor="start" x="1179.29" y="-1723.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;period_quarter &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1168.56,-1642.1 1168.56,-1702.1 1522.56,-1702.1 1522.56,-1642.1 1168.56,-1642.1"/>
<polygon fill="none" stroke="#29235c" points="1168.56,-1642.1 1168.56,-1702.1 1522.56,-1702.1 1522.56,-1642.1 1168.56,-1642.1"/>
<text text-anchor="start" x="1288.65" y="-1663.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;Q1 &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1168.56,-1582.1 1168.56,-1642.1 1522.56,-1642.1 1522.56,-1582.1 1168.56,-1582.1"/>
<polygon fill="none" stroke="#29235c" points="1168.56,-1582.1 1168.56,-1642.1 1522.56,-1642.1 1522.56,-1582.1 1168.56,-1582.1"/>
<text text-anchor="start" x="1288.65" y="-1603.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;Q2 &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1168.56,-1522.1 1168.56,-1582.1 1522.56,-1582.1 1522.56,-1522.1 1168.56,-1522.1"/>
<polygon fill="none" stroke="#29235c" points="1168.56,-1522.1 1168.56,-1582.1 1522.56,-1582.1 1522.56,-1522.1 1168.56,-1522.1"/>
<text text-anchor="start" x="1288.65" y="-1543.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;Q3 &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1168.56,-1462.1 1168.56,-1522.1 1522.56,-1522.1 1522.56,-1462.1 1168.56,-1462.1"/>
<polygon fill="none" stroke="#29235c" points="1168.56,-1462.1 1168.56,-1522.1 1522.56,-1522.1 1522.56,-1462.1 1168.56,-1462.1"/>
<text text-anchor="start" x="1288.65" y="-1483.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;Q4 &#160;&#160;&#160;</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1167.56,-1461.1 1167.56,-1763.1 1523.56,-1763.1 1523.56,-1461.1 1167.56,-1461.1"/>
</g>
<!-- file_status -->
<g id="file_status" class="node">
<title>file_status</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="2084.43" cy="-454.1" rx="224.31" ry="257.27"/>
<polygon fill="#29235c" stroke="transparent" points="1928.43,-574.1 1928.43,-634.1 2241.43,-634.1 2241.43,-574.1 1928.43,-574.1"/>
<polygon fill="none" stroke="#29235c" points="1928.43,-574.1 1928.43,-634.1 2241.43,-634.1 2241.43,-574.1 1928.43,-574.1"/>
<text text-anchor="start" x="1950.66" y="-595.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;file_status &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1928.43,-514.1 1928.43,-574.1 2241.43,-574.1 2241.43,-514.1 1928.43,-514.1"/>
<polygon fill="none" stroke="#29235c" points="1928.43,-514.1 1928.43,-574.1 2241.43,-574.1 2241.43,-514.1 1928.43,-514.1"/>
<text text-anchor="start" x="1961.35" y="-535.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;UPLOADED &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1928.43,-454.1 1928.43,-514.1 2241.43,-514.1 2241.43,-454.1 1928.43,-454.1"/>
<polygon fill="none" stroke="#29235c" points="1928.43,-454.1 1928.43,-514.1 2241.43,-514.1 2241.43,-454.1 1928.43,-454.1"/>
<text text-anchor="start" x="1942.68" y="-475.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;PROCESSING &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1928.43,-394.1 1928.43,-454.1 2241.43,-454.1 2241.43,-394.1 1928.43,-394.1"/>
<polygon fill="none" stroke="#29235c" points="1928.43,-394.1 1928.43,-454.1 2241.43,-454.1 2241.43,-394.1 1928.43,-394.1"/>
<text text-anchor="start" x="1948.91" y="-415.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;PROCESSED &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1928.43,-334.1 1928.43,-394.1 2241.43,-394.1 2241.43,-334.1 1928.43,-334.1"/>
<polygon fill="none" stroke="#29235c" points="1928.43,-334.1 1928.43,-394.1 2241.43,-394.1 2241.43,-334.1 1928.43,-334.1"/>
<text text-anchor="start" x="1991.59" y="-355.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;ERROR &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1928.43,-274.1 1928.43,-334.1 2241.43,-334.1 2241.43,-274.1 1928.43,-274.1"/>
<polygon fill="none" stroke="#29235c" points="1928.43,-274.1 1928.43,-334.1 2241.43,-334.1 2241.43,-274.1 1928.43,-274.1"/>
<text text-anchor="start" x="1939.13" y="-295.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;SUPERSEDED &#160;&#160;&#160;</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1926.93,-273.1 1926.93,-635.1 2241.93,-635.1 2241.93,-273.1 1926.93,-273.1"/>
</g>
<!-- document_status -->
<g id="document_status" class="node">
<title>document_status</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="1345.56" cy="-1164.1" rx="278.7" ry="214.92"/>
<polygon fill="#29235c" stroke="transparent" points="1150.56,-1254.1 1150.56,-1314.1 1540.56,-1314.1 1540.56,-1254.1 1150.56,-1254.1"/>
<polygon fill="none" stroke="#29235c" points="1150.56,-1254.1 1150.56,-1314.1 1540.56,-1314.1 1540.56,-1254.1 1150.56,-1254.1"/>
<text text-anchor="start" x="1161.49" y="-1275.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;document_status &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1150.56,-1194.1 1150.56,-1254.1 1540.56,-1254.1 1540.56,-1194.1 1150.56,-1194.1"/>
<polygon fill="none" stroke="#29235c" points="1150.56,-1194.1 1150.56,-1254.1 1540.56,-1254.1 1540.56,-1194.1 1150.56,-1194.1"/>
<text text-anchor="start" x="1203.33" y="-1215.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;RECOGNIZED &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1150.56,-1134.1 1150.56,-1194.1 1540.56,-1194.1 1540.56,-1134.1 1150.56,-1134.1"/>
<polygon fill="none" stroke="#29235c" points="1150.56,-1134.1 1150.56,-1194.1 1540.56,-1194.1 1540.56,-1134.1 1150.56,-1134.1"/>
<text text-anchor="start" x="1189.99" y="-1155.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;NEEDS_CHECK &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1150.56,-1074.1 1150.56,-1134.1 1540.56,-1134.1 1540.56,-1074.1 1150.56,-1074.1"/>
<polygon fill="none" stroke="#29235c" points="1150.56,-1074.1 1150.56,-1134.1 1540.56,-1134.1 1540.56,-1074.1 1150.56,-1074.1"/>
<text text-anchor="start" x="1213.12" y="-1095.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;CONFIRMED &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1150.56,-1014.1 1150.56,-1074.1 1540.56,-1074.1 1540.56,-1014.1 1150.56,-1014.1"/>
<polygon fill="none" stroke="#29235c" points="1150.56,-1014.1 1150.56,-1074.1 1540.56,-1074.1 1540.56,-1014.1 1150.56,-1014.1"/>
<text text-anchor="start" x="1252.22" y="-1035.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;ERROR &#160;&#160;&#160;</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1149.56,-1013.1 1149.56,-1315.1 1541.56,-1315.1 1541.56,-1013.1 1149.56,-1013.1"/>
</g>
<!-- s3_bucket_role -->
<g id="s3_bucket_role" class="node">
<title>s3_bucket_role</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="3448.31" cy="-3453.1" rx="259.52" ry="257.27"/>
<polygon fill="#29235c" stroke="transparent" points="3267.31,-3573.1 3267.31,-3633.1 3630.31,-3633.1 3630.31,-3573.1 3267.31,-3573.1"/>
<polygon fill="none" stroke="#29235c" points="3267.31,-3573.1 3267.31,-3633.1 3630.31,-3633.1 3630.31,-3573.1 3267.31,-3573.1"/>
<text text-anchor="start" x="3278.08" y="-3594.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;s3_bucket_role &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="3267.31,-3513.1 3267.31,-3573.1 3630.31,-3573.1 3630.31,-3513.1 3267.31,-3513.1"/>
<polygon fill="none" stroke="#29235c" points="3267.31,-3513.1 3267.31,-3573.1 3630.31,-3573.1 3630.31,-3513.1 3267.31,-3513.1"/>
<text text-anchor="start" x="3357.22" y="-3534.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;uploads &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="3267.31,-3453.1 3267.31,-3513.1 3630.31,-3513.1 3630.31,-3453.1 3267.31,-3453.1"/>
<polygon fill="none" stroke="#29235c" points="3267.31,-3453.1 3267.31,-3513.1 3630.31,-3513.1 3630.31,-3453.1 3267.31,-3453.1"/>
<text text-anchor="start" x="3366.13" y="-3474.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;results &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="3267.31,-3393.1 3267.31,-3453.1 3630.31,-3453.1 3630.31,-3393.1 3267.31,-3393.1"/>
<polygon fill="none" stroke="#29235c" points="3267.31,-3393.1 3267.31,-3453.1 3630.31,-3453.1 3630.31,-3393.1 3267.31,-3393.1"/>
<text text-anchor="start" x="3360.78" y="-3414.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;exports &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="3267.31,-3333.1 3267.31,-3393.1 3630.31,-3393.1 3630.31,-3333.1 3267.31,-3333.1"/>
<polygon fill="none" stroke="#29235c" points="3267.31,-3333.1 3267.31,-3393.1 3630.31,-3393.1 3630.31,-3333.1 3267.31,-3333.1"/>
<text text-anchor="start" x="3361.68" y="-3354.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;archive &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="3267.31,-3273.1 3267.31,-3333.1 3630.31,-3333.1 3630.31,-3273.1 3267.31,-3273.1"/>
<polygon fill="none" stroke="#29235c" points="3267.31,-3273.1 3267.31,-3333.1 3630.31,-3333.1 3630.31,-3273.1 3267.31,-3273.1"/>
<text text-anchor="start" x="3387.47" y="-3294.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;raw &#160;&#160;&#160;</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="3265.81,-3272.1 3265.81,-3634.1 3630.81,-3634.1 3630.81,-3272.1 3265.81,-3272.1"/>
</g>
<!-- recognition_status -->
<g id="recognition_status" class="node">
<title>recognition_status</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="2811.98" cy="-4320.1" rx="289.83" ry="384.83"/>
<polygon fill="#29235c" stroke="transparent" points="2608.98,-4530.1 2608.98,-4590.1 3014.98,-4590.1 3014.98,-4530.1 2608.98,-4530.1"/>
<polygon fill="none" stroke="#29235c" points="2608.98,-4530.1 2608.98,-4590.1 3014.98,-4590.1 3014.98,-4530.1 2608.98,-4530.1"/>
<text text-anchor="start" x="2619.91" y="-4551.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;recognition_status &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2608.98,-4470.1 2608.98,-4530.1 3014.98,-4530.1 3014.98,-4470.1 2608.98,-4470.1"/>
<polygon fill="none" stroke="#29235c" points="2608.98,-4470.1 2608.98,-4530.1 3014.98,-4530.1 3014.98,-4470.1 2608.98,-4470.1"/>
<text text-anchor="start" x="2723.04" y="-4491.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;queued &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2608.98,-4410.1 2608.98,-4470.1 3014.98,-4470.1 3014.98,-4410.1 2608.98,-4410.1"/>
<polygon fill="none" stroke="#29235c" points="2608.98,-4410.1 2608.98,-4470.1 3014.98,-4470.1 3014.98,-4410.1 2608.98,-4410.1"/>
<text text-anchor="start" x="2707.94" y="-4431.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;published &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2608.98,-4350.1 2608.98,-4410.1 3014.98,-4410.1 3014.98,-4350.1 2608.98,-4350.1"/>
<polygon fill="none" stroke="#29235c" points="2608.98,-4350.1 2608.98,-4410.1 3014.98,-4410.1 3014.98,-4350.1 2608.98,-4350.1"/>
<text text-anchor="start" x="2699.06" y="-4371.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;processing &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2608.98,-4290.1 2608.98,-4350.1 3014.98,-4350.1 3014.98,-4290.1 2608.98,-4290.1"/>
<polygon fill="none" stroke="#29235c" points="2608.98,-4290.1 2608.98,-4350.1 3014.98,-4350.1 3014.98,-4290.1 2608.98,-4290.1"/>
<text text-anchor="start" x="2740.83" y="-4311.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;done &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2608.98,-4230.1 2608.98,-4290.1 3014.98,-4290.1 3014.98,-4230.1 2608.98,-4230.1"/>
<polygon fill="none" stroke="#29235c" points="2608.98,-4230.1 2608.98,-4290.1 3014.98,-4290.1 3014.98,-4230.1 2608.98,-4230.1"/>
<text text-anchor="start" x="2682.14" y="-4251.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;needs_check &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2608.98,-4170.1 2608.98,-4230.1 3014.98,-4230.1 3014.98,-4170.1 2608.98,-4170.1"/>
<polygon fill="none" stroke="#29235c" points="2608.98,-4170.1 2608.98,-4230.1 3014.98,-4230.1 3014.98,-4170.1 2608.98,-4170.1"/>
<text text-anchor="start" x="2742.64" y="-4191.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;error &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2608.98,-4110.1 2608.98,-4170.1 3014.98,-4170.1 3014.98,-4110.1 2608.98,-4110.1"/>
<polygon fill="none" stroke="#29235c" points="2608.98,-4110.1 2608.98,-4170.1 3014.98,-4170.1 3014.98,-4110.1 2608.98,-4110.1"/>
<text text-anchor="start" x="2723.95" y="-4131.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;timeout &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2608.98,-4050.1 2608.98,-4110.1 3014.98,-4110.1 3014.98,-4050.1 2608.98,-4050.1"/>
<polygon fill="none" stroke="#29235c" points="2608.98,-4050.1 2608.98,-4110.1 3014.98,-4110.1 3014.98,-4050.1 2608.98,-4050.1"/>
<text text-anchor="start" x="2755.07" y="-4071.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;dlq &#160;&#160;&#160;</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="2607.98,-4049.1 2607.98,-4591.1 3015.98,-4591.1 3015.98,-4049.1 2607.98,-4049.1"/>
</g>
<!-- document_check_result -->
<g id="document_check_result" class="node">
<title>document_check_result</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="1345.56" cy="-759.1" rx="345.14" ry="172.57"/>
<polygon fill="#29235c" stroke="transparent" points="1103.56,-819.1 1103.56,-879.1 1587.56,-879.1 1587.56,-819.1 1103.56,-819.1"/>
<polygon fill="none" stroke="#29235c" points="1103.56,-819.1 1103.56,-879.1 1587.56,-879.1 1587.56,-819.1 1103.56,-819.1"/>
<text text-anchor="start" x="1114.38" y="-840.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;document_check_result &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1103.56,-759.1 1103.56,-819.1 1587.56,-819.1 1587.56,-759.1 1103.56,-759.1"/>
<polygon fill="none" stroke="#29235c" points="1103.56,-759.1 1103.56,-819.1 1587.56,-819.1 1587.56,-759.1 1103.56,-759.1"/>
<text text-anchor="start" x="1253.12" y="-780.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;MATCH &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1103.56,-699.1 1103.56,-759.1 1587.56,-759.1 1587.56,-699.1 1103.56,-699.1"/>
<polygon fill="none" stroke="#29235c" points="1103.56,-699.1 1103.56,-759.1 1587.56,-759.1 1587.56,-699.1 1103.56,-699.1"/>
<text text-anchor="start" x="1224.68" y="-720.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;MISMATCH &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1103.56,-639.1 1103.56,-699.1 1587.56,-699.1 1587.56,-639.1 1103.56,-639.1"/>
<polygon fill="none" stroke="#29235c" points="1103.56,-639.1 1103.56,-699.1 1587.56,-699.1 1587.56,-639.1 1103.56,-639.1"/>
<text text-anchor="start" x="1225.57" y="-660.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;UNKNOWN &#160;&#160;&#160;</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1102.56,-638.1 1102.56,-880.1 1588.56,-880.1 1588.56,-638.1 1102.56,-638.1"/>
</g>
<!-- app_user -->
<g id="app_user" class="node">
<title>app_user</title>
<g id="a_app_user"><a xlink:title="app_user&#10;STUB — полное определение в part02_users_access">
<ellipse fill="none" stroke="black" stroke-width="0" cx="2084.43" cy="-91.1" rx="200.22" ry="87.86"/>
<polygon fill="#1d71b8" stroke="transparent" points="1945.43,-91.1 1945.43,-151.1 2224.43,-151.1 2224.43,-91.1 1945.43,-91.1"/>
<polygon fill="none" stroke="#29235c" points="1945.43,-91.1 1945.43,-151.1 2224.43,-151.1 2224.43,-91.1 1945.43,-91.1"/>
<text text-anchor="start" x="1955.98" y="-112.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;app_user &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1945.43,-31.1 1945.43,-91.1 2224.43,-91.1 2224.43,-31.1 1945.43,-31.1"/>
<polygon fill="none" stroke="#29235c" points="1945.43,-31.1 1945.43,-91.1 2224.43,-91.1 2224.43,-31.1 1945.43,-31.1"/>
<text text-anchor="start" x="1956.43" y="-52.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">id</text>
<text text-anchor="start" x="1981.32" y="-52.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> &#160;&#160;&#160;</text>
<text text-anchor="start" x="2152.96" y="-52.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1943.93,-30.1 1943.93,-152.1 2224.93,-152.1 2224.93,-30.1 1943.93,-30.1"/>
</a>
</g>
</g>
<!-- consolidation -->
<g id="consolidation" class="node">
<title>consolidation</title>
<g id="a_consolidation"><a xlink:title="consolidation&#10;STUB — полное определение в part07_consolidation">
<ellipse fill="none" stroke="black" stroke-width="0" cx="2084.43" cy="-1472.1" rx="238.09" ry="87.86"/>
<polygon fill="#1d71b8" stroke="transparent" points="1918.43,-1472.1 1918.43,-1532.1 2251.43,-1532.1 2251.43,-1472.1 1918.43,-1472.1"/>
<polygon fill="none" stroke="#29235c" points="1918.43,-1472.1 1918.43,-1532.1 2251.43,-1532.1 2251.43,-1472.1 1918.43,-1472.1"/>
<text text-anchor="start" x="1929.32" y="-1493.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;consolidation &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1918.43,-1412.1 1918.43,-1472.1 2251.43,-1472.1 2251.43,-1412.1 1918.43,-1412.1"/>
<polygon fill="none" stroke="#29235c" points="1918.43,-1412.1 1918.43,-1472.1 2251.43,-1472.1 2251.43,-1412.1 1918.43,-1412.1"/>
<text text-anchor="start" x="1929.43" y="-1433.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">id</text>
<text text-anchor="start" x="1954.32" y="-1433.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> &#160;&#160;&#160;</text>
<text text-anchor="start" x="2179.96" y="-1433.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1916.93,-1411.1 1916.93,-1533.1 2251.93,-1533.1 2251.93,-1411.1 1916.93,-1411.1"/>
</a>
</g>
</g>
<!-- legal_entity -->
<g id="legal_entity" class="node">
<title>legal_entity</title>
<g id="a_legal_entity"><a xlink:title="legal_entity&#10;STUB — полное определение в part01_groups_entities">
<ellipse fill="none" stroke="black" stroke-width="0" cx="2084.43" cy="-4273.1" rx="220.73" ry="87.86"/>
<polygon fill="#1d71b8" stroke="transparent" points="1930.43,-4273.1 1930.43,-4333.1 2238.43,-4333.1 2238.43,-4273.1 1930.43,-4273.1"/>
<polygon fill="none" stroke="#29235c" points="1930.43,-4273.1 1930.43,-4333.1 2238.43,-4333.1 2238.43,-4273.1 1930.43,-4273.1"/>
<text text-anchor="start" x="1941.27" y="-4294.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;legal_entity &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1930.43,-4213.1 1930.43,-4273.1 2238.43,-4273.1 2238.43,-4213.1 1930.43,-4213.1"/>
<polygon fill="none" stroke="#29235c" points="1930.43,-4213.1 1930.43,-4273.1 2238.43,-4273.1 2238.43,-4213.1 1930.43,-4213.1"/>
<text text-anchor="start" x="1941.43" y="-4234.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">id</text>
<text text-anchor="start" x="1966.32" y="-4234.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> &#160;&#160;&#160;</text>
<text text-anchor="start" x="2166.96" y="-4234.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1929.43,-4212.1 1929.43,-4334.1 2239.43,-4334.1 2239.43,-4212.1 1929.43,-4212.1"/>
</a>
</g>
</g>
<!-- s3_object -->
<g id="s3_object" class="node">
<title>s3_object</title>
<g id="a_s3_object"><a xlink:title="s3_object&#10;Реестр объектов S3. stored_file / recognition_job ссылаются сюда FK">
<ellipse fill="none" stroke="black" stroke-width="0" cx="2811.98" cy="-3363.1" rx="340.65" ry="554.24"/>
<polygon fill="#1d71b8" stroke="transparent" points="2572.98,-3693.1 2572.98,-3753.1 3050.98,-3753.1 3050.98,-3693.1 2572.98,-3693.1"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-3693.1 2572.98,-3753.1 3050.98,-3753.1 3050.98,-3693.1 2572.98,-3693.1"/>
<text text-anchor="start" x="2681.26" y="-3714.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;s3_object &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-3633.1 2572.98,-3693.1 3050.98,-3693.1 3050.98,-3633.1 2572.98,-3633.1"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-3633.1 2572.98,-3693.1 3050.98,-3693.1 3050.98,-3633.1 2572.98,-3633.1"/>
<text text-anchor="start" x="2583.98" y="-3654.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">id</text>
<text text-anchor="start" x="2608.87" y="-3654.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> &#160;&#160;&#160;</text>
<text text-anchor="start" x="2979.51" y="-3654.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-3573.1 2572.98,-3633.1 3050.98,-3633.1 3050.98,-3573.1 2572.98,-3573.1"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-3573.1 2572.98,-3633.1 3050.98,-3633.1 3050.98,-3573.1 2572.98,-3573.1"/>
<text text-anchor="start" x="2583.5" y="-3593.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">bucket_role &#160;&#160;&#160;</text>
<text text-anchor="start" x="2783.95" y="-3594.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">s3_bucket_role</text>
<text text-anchor="start" x="3000.91" y="-3594.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="3009.8" y="-3594.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-3513.1 2572.98,-3573.1 3050.98,-3573.1 3050.98,-3513.1 2572.98,-3513.1"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-3513.1 2572.98,-3573.1 3050.98,-3573.1 3050.98,-3513.1 2572.98,-3513.1"/>
<text text-anchor="start" x="2583.98" y="-3533.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">bucket &#160;&#160;&#160;</text>
<text text-anchor="start" x="2894.21" y="-3534.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<text text-anchor="start" x="3000.89" y="-3534.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="3009.78" y="-3534.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-3453.1 2572.98,-3513.1 3050.98,-3513.1 3050.98,-3453.1 2572.98,-3453.1"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-3453.1 2572.98,-3513.1 3050.98,-3513.1 3050.98,-3453.1 2572.98,-3453.1"/>
<text text-anchor="start" x="2583.98" y="-3473.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">key &#160;&#160;&#160;</text>
<text text-anchor="start" x="2894.21" y="-3474.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<text text-anchor="start" x="3000.89" y="-3474.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="3009.78" y="-3474.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-3393.1 2572.98,-3453.1 3050.98,-3453.1 3050.98,-3393.1 2572.98,-3393.1"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-3393.1 2572.98,-3453.1 3050.98,-3453.1 3050.98,-3393.1 2572.98,-3393.1"/>
<text text-anchor="start" x="2583.98" y="-3413.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">content_type &#160;&#160;&#160;</text>
<text text-anchor="start" x="2933.3" y="-3414.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-3333.1 2572.98,-3393.1 3050.98,-3393.1 3050.98,-3333.1 2572.98,-3333.1"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-3333.1 2572.98,-3393.1 3050.98,-3393.1 3050.98,-3333.1 2572.98,-3333.1"/>
<text text-anchor="start" x="2583.98" y="-3353.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">size_bytes &#160;&#160;&#160;</text>
<text text-anchor="start" x="2963.52" y="-3354.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">bigint</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-3273.1 2572.98,-3333.1 3050.98,-3333.1 3050.98,-3273.1 2572.98,-3273.1"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-3273.1 2572.98,-3333.1 3050.98,-3333.1 3050.98,-3273.1 2572.98,-3273.1"/>
<text text-anchor="start" x="2583.98" y="-3293.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">sha256 &#160;&#160;&#160;</text>
<text text-anchor="start" x="2933.3" y="-3294.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-3213.1 2572.98,-3273.1 3050.98,-3273.1 3050.98,-3213.1 2572.98,-3213.1"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-3213.1 2572.98,-3273.1 3050.98,-3273.1 3050.98,-3213.1 2572.98,-3213.1"/>
<text text-anchor="start" x="2583.98" y="-3233.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">version_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="2933.3" y="-3234.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-3153.1 2572.98,-3213.1 3050.98,-3213.1 3050.98,-3153.1 2572.98,-3153.1"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-3153.1 2572.98,-3213.1 3050.98,-3213.1 3050.98,-3153.1 2572.98,-3153.1"/>
<text text-anchor="start" x="2583.98" y="-3173.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">created_by &#160;&#160;&#160;</text>
<text text-anchor="start" x="2933.3" y="-3174.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-3093.1 2572.98,-3153.1 3050.98,-3153.1 3050.98,-3093.1 2572.98,-3093.1"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-3093.1 2572.98,-3153.1 3050.98,-3153.1 3050.98,-3093.1 2572.98,-3093.1"/>
<text text-anchor="start" x="2583.98" y="-3113.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">created_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="2828.43" y="-3114.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<text text-anchor="start" x="3000.89" y="-3114.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="3009.78" y="-3114.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-3033.1 2572.98,-3093.1 3050.98,-3093.1 3050.98,-3033.1 2572.98,-3033.1"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-3033.1 2572.98,-3093.1 3050.98,-3093.1 3050.98,-3033.1 2572.98,-3033.1"/>
<text text-anchor="start" x="2583.98" y="-3053.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">expires_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="2867.53" y="-3054.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-2973.1 2572.98,-3033.1 3050.98,-3033.1 3050.98,-2973.1 2572.98,-2973.1"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-2973.1 2572.98,-3033.1 3050.98,-3033.1 3050.98,-2973.1 2572.98,-2973.1"/>
<text text-anchor="start" x="2583.98" y="-2993.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">archived_to &#160;&#160;&#160;</text>
<text text-anchor="start" x="2933.3" y="-2994.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="2571.98,-2972.1 2571.98,-3754.1 3051.98,-3754.1 3051.98,-2972.1 2571.98,-2972.1"/>
</a>
</g>
</g>
<!-- s3_object&#45;&gt;s3_bucket_role -->
<g id="edge27" class="edge">
<title>s3_object:e&#45;&gt;s3_bucket_role:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M3051.98,-3603.1C3147.24,-3603.1 3171.05,-3603.1 3266.31,-3603.1"/>
</g>
<!-- stored_file -->
<g id="stored_file" class="node">
<title>stored_file</title>
<g id="a_stored_file"><a xlink:title="stored_file&#10;v5.13: физический файл одной загрузки (S3 — только ссылка). Что внутри — document (1:N). Первичка не редактируется. Удаление физическое запрещено после INITIATED — только SUPERSEDED (ANL&#45;020). v5.18: consolidation_id — где загружен; что использует версия — consolidation_document">
<ellipse fill="none" stroke="black" stroke-width="0" cx="1345.56" cy="-3243.1" rx="352.28" ry="724.15"/>
<polygon fill="#1d71b8" stroke="transparent" points="1098.56,-3693.1 1098.56,-3753.1 1592.56,-3753.1 1592.56,-3693.1 1098.56,-3693.1"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-3693.1 1098.56,-3753.1 1592.56,-3753.1 1592.56,-3693.1 1098.56,-3693.1"/>
<text text-anchor="start" x="1209.52" y="-3714.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;stored_file &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-3633.1 1098.56,-3693.1 1592.56,-3693.1 1592.56,-3633.1 1098.56,-3633.1"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-3633.1 1098.56,-3693.1 1592.56,-3693.1 1592.56,-3633.1 1098.56,-3633.1"/>
<text text-anchor="start" x="1109.56" y="-3654.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">id</text>
<text text-anchor="start" x="1134.45" y="-3654.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> &#160;&#160;&#160;</text>
<text text-anchor="start" x="1521.09" y="-3654.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-3573.1 1098.56,-3633.1 1592.56,-3633.1 1592.56,-3573.1 1098.56,-3573.1"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-3573.1 1098.56,-3633.1 1592.56,-3633.1 1592.56,-3573.1 1098.56,-3573.1"/>
<text text-anchor="start" x="1109.56" y="-3593.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">legal_entity_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="1482" y="-3594.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<text text-anchor="start" x="1542.47" y="-3594.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="1551.36" y="-3594.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-3513.1 1098.56,-3573.1 1592.56,-3573.1 1592.56,-3513.1 1098.56,-3513.1"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-3513.1 1098.56,-3573.1 1592.56,-3573.1 1592.56,-3513.1 1098.56,-3513.1"/>
<text text-anchor="start" x="1109.56" y="-3533.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">file_type &#160;&#160;&#160;</text>
<text text-anchor="start" x="1423.33" y="-3534.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">file_type</text>
<text text-anchor="start" x="1542.47" y="-3534.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="1551.36" y="-3534.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-3453.1 1098.56,-3513.1 1592.56,-3513.1 1592.56,-3453.1 1098.56,-3453.1"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-3453.1 1098.56,-3513.1 1592.56,-3513.1 1592.56,-3453.1 1098.56,-3453.1"/>
<text text-anchor="start" x="1109.56" y="-3473.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">original_name &#160;&#160;&#160;</text>
<text text-anchor="start" x="1474.89" y="-3474.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-3393.1 1098.56,-3453.1 1592.56,-3453.1 1592.56,-3393.1 1098.56,-3393.1"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-3393.1 1098.56,-3453.1 1592.56,-3453.1 1592.56,-3393.1 1098.56,-3393.1"/>
<text text-anchor="start" x="1109.56" y="-3413.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">s3_object_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="1482" y="-3414.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<text text-anchor="start" x="1542.47" y="-3414.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="1551.36" y="-3414.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-3333.1 1098.56,-3393.1 1592.56,-3393.1 1592.56,-3333.1 1098.56,-3333.1"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-3333.1 1098.56,-3393.1 1592.56,-3393.1 1592.56,-3333.1 1098.56,-3333.1"/>
<text text-anchor="start" x="1109.56" y="-3353.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">content_hash &#160;&#160;&#160;</text>
<text text-anchor="start" x="1474.89" y="-3354.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-3273.1 1098.56,-3333.1 1592.56,-3333.1 1592.56,-3273.1 1098.56,-3273.1"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-3273.1 1098.56,-3333.1 1592.56,-3333.1 1592.56,-3273.1 1098.56,-3273.1"/>
<text text-anchor="start" x="1109.56" y="-3293.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">size_bytes &#160;&#160;&#160;</text>
<text text-anchor="start" x="1505.1" y="-3294.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">bigint</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-3213.1 1098.56,-3273.1 1592.56,-3273.1 1592.56,-3213.1 1098.56,-3213.1"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-3213.1 1098.56,-3273.1 1592.56,-3273.1 1592.56,-3213.1 1098.56,-3213.1"/>
<text text-anchor="start" x="1109.56" y="-3233.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">status &#160;&#160;&#160;</text>
<text text-anchor="start" x="1398.44" y="-3234.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">file_status</text>
<text text-anchor="start" x="1542.47" y="-3234.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="1551.36" y="-3234.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-3153.1 1098.56,-3213.1 1592.56,-3213.1 1592.56,-3153.1 1098.56,-3153.1"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-3153.1 1098.56,-3213.1 1592.56,-3213.1 1592.56,-3153.1 1098.56,-3153.1"/>
<text text-anchor="start" x="1109.56" y="-3173.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">version_no &#160;&#160;&#160;</text>
<text text-anchor="start" x="1508.69" y="-3174.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">int</text>
<text text-anchor="start" x="1542.47" y="-3174.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="1551.36" y="-3174.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-3093.1 1098.56,-3153.1 1592.56,-3153.1 1592.56,-3093.1 1098.56,-3093.1"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-3093.1 1098.56,-3153.1 1592.56,-3153.1 1592.56,-3093.1 1098.56,-3093.1"/>
<text text-anchor="start" x="1109.56" y="-3113.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">superseded_by_file_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="1521.09" y="-3114.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-3033.1 1098.56,-3093.1 1592.56,-3093.1 1592.56,-3033.1 1098.56,-3033.1"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-3033.1 1098.56,-3093.1 1592.56,-3093.1 1592.56,-3033.1 1098.56,-3033.1"/>
<text text-anchor="start" x="1109.56" y="-3053.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">is_scan &#160;&#160;&#160;</text>
<text text-anchor="start" x="1467.73" y="-3054.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">boolean</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-2973.1 1098.56,-3033.1 1592.56,-3033.1 1592.56,-2973.1 1098.56,-2973.1"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-2973.1 1098.56,-3033.1 1592.56,-3033.1 1592.56,-2973.1 1098.56,-2973.1"/>
<text text-anchor="start" x="1109.29" y="-2993.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">current_recognition_job_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="1521.33" y="-2994.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-2913.1 1098.56,-2973.1 1592.56,-2973.1 1592.56,-2913.1 1098.56,-2913.1"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-2913.1 1098.56,-2973.1 1592.56,-2973.1 1592.56,-2913.1 1098.56,-2913.1"/>
<text text-anchor="start" x="1109.56" y="-2933.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">uploaded_by &#160;&#160;&#160;</text>
<text text-anchor="start" x="1521.09" y="-2934.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-2853.1 1098.56,-2913.1 1592.56,-2913.1 1592.56,-2853.1 1098.56,-2853.1"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-2853.1 1098.56,-2913.1 1592.56,-2913.1 1592.56,-2853.1 1098.56,-2853.1"/>
<text text-anchor="start" x="1109.56" y="-2873.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">uploaded_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="1409.11" y="-2874.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-2793.1 1098.56,-2853.1 1592.56,-2853.1 1592.56,-2793.1 1098.56,-2793.1"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-2793.1 1098.56,-2853.1 1592.56,-2853.1 1592.56,-2793.1 1098.56,-2793.1"/>
<text text-anchor="start" x="1109.56" y="-2813.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">updated_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="1409.11" y="-2814.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-2733.1 1098.56,-2793.1 1592.56,-2793.1 1592.56,-2733.1 1098.56,-2733.1"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-2733.1 1098.56,-2793.1 1592.56,-2793.1 1592.56,-2733.1 1098.56,-2733.1"/>
<text text-anchor="start" x="1109.56" y="-2753.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">consolidation_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="1521.09" y="-2754.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1097.56,-2732.1 1097.56,-3754.1 1593.56,-3754.1 1593.56,-2732.1 1097.56,-2732.1"/>
</a>
</g>
</g>
<!-- stored_file&#45;&gt;file_type -->
<g id="edge28" class="edge">
<title>stored_file:e&#45;&gt;file_type:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1593.56,-3543.1C1839.98,-3543.1 1681.96,-2685.02 1697.7,-2439.1 1701.48,-2380.08 1703.47,-1425.94 1733.7,-1375.1 1791.08,-1278.63 1839.18,-1247.1 1951.43,-1247.1"/>
</g>
<!-- stored_file&#45;&gt;file_status -->
<g id="edge29" class="edge">
<title>stored_file:e&#45;&gt;file_status:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1593.56,-3243.1C1773.72,-3243.1 1684.22,-2618.76 1697.7,-2439.1 1704.83,-2344.13 1686.65,-807.91 1733.7,-725.1 1783.85,-636.84 1825.91,-604.1 1927.43,-604.1"/>
</g>
<!-- stored_file&#45;&gt;app_user -->
<!-- stored_file&#45;&gt;app_user -->
<g id="edge10" class="edge">
<title>stored_file:e&#45;&gt;app_user:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1593.56,-2943.1C1822.29,-2943.1 1672.62,-2666.46 1697.7,-2439.1 1704.56,-2376.94 1702.51,-242.3 1733.7,-188.1 1786.54,-96.29 1832.14,-63.18 1934.36,-61.2"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1934.46,-64.7 1944.43,-61.1 1934.39,-57.7 1934.46,-64.7"/>
<text text-anchor="middle" x="1935.53" y="-32.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="1587.34" y="-2952.7" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- stored_file&#45;&gt;consolidation -->
<!-- stored_file&#45;&gt;consolidation -->
<g id="edge12" class="edge">
<title>stored_file:e&#45;&gt;consolidation:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1593.56,-2763.1C1744.82,-2763.1 1671.2,-2588.02 1697.7,-2439.1 1714.67,-2343.74 1686.8,-1652.85 1733.7,-1568.1 1779.96,-1484.52 1815.81,-1444.93 1907.21,-1442.25"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1907.48,-1445.75 1917.43,-1442.1 1907.38,-1438.75 1907.48,-1445.75"/>
<text text-anchor="middle" x="1908.53" y="-1451.7" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="1587.34" y="-2772.7" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- stored_file&#45;&gt;legal_entity -->
<!-- stored_file&#45;&gt;legal_entity -->
<g id="edge2" class="edge">
<title>stored_file:e&#45;&gt;legal_entity:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1593.56,-3603.1C1723.57,-3603.1 1646.99,-4074.23 1733.7,-4171.1 1793.22,-4237.6 1833.65,-4242.79 1919.32,-4243.09"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1919.42,-4246.59 1929.43,-4243.1 1919.43,-4239.59 1919.42,-4246.59"/>
<text text-anchor="middle" x="1920.53" y="-4252.7" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="1587.34" y="-3612.7" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- stored_file&#45;&gt;s3_object -->
<!-- stored_file&#45;&gt;s3_object -->
<g id="edge4" class="edge">
<title>stored_file:e&#45;&gt;s3_object:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1593.56,-3423.1C1813.45,-3423.1 1683.76,-2658.55 1697.7,-2439.1 1700.66,-2392.49 1700.32,-790.77 1733.7,-758.1 1761.55,-730.84 2406.95,-731.2 2435.15,-758.1 2666.44,-978.76 2257.79,-3605.77 2561.82,-3662.18"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="2561.7,-3665.68 2571.98,-3663.1 2562.33,-3658.71 2561.7,-3665.68"/>
<text text-anchor="middle" x="2580.87" y="-3672.7" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="1587.34" y="-3432.7" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- stored_file&#45;&gt;stored_file -->
<!-- stored_file&#45;&gt;stored_file -->
<g id="edge6" class="edge">
<title>stored_file:e&#45;&gt;stored_file:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1592.56,-3123.1C1777.06,-3370.46 1777.06,-3985.18 1345.56,-3985.18 918.91,-3985.18 914.12,-3912.13 1092.42,-3671.37"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1095.41,-3673.22 1098.56,-3663.1 1089.79,-3669.04 1095.41,-3673.22"/>
<text text-anchor="middle" x="1089.67" y="-3672.7" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="1586.34" y="-3132.7" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- recognition_job -->
<g id="recognition_job" class="node">
<title>recognition_job</title>
<g id="a_recognition_job"><a xlink:title="recognition_job&#10;РЕШЕНИЕ v5.4: единственная точка обмена с NATS. Запись = outbox: создаётся в queued в одной транзакции с stored_file, фоновый публикатор переводит в published (при сбое публикации — повтор по queued старше N сек); результат приходит по NATS, дедуп по result_msg_id UNIQUE; redelivery после max_deliver → status=dlq, replay = сброс в queued с attempt+1. Ядро маппит JSON из S3 в document → osv_entry / financial_statement_*">
<ellipse fill="none" stroke="black" stroke-width="0" cx="2084.43" cy="-2853.1" rx="350.95" ry="1275.74"/>
<polygon fill="#1d71b8" stroke="transparent" points="1838.43,-3693.1 1838.43,-3753.1 2330.43,-3753.1 2330.43,-3693.1 1838.43,-3693.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-3693.1 1838.43,-3753.1 2330.43,-3753.1 2330.43,-3693.1 1838.43,-3693.1"/>
<text text-anchor="start" x="1913.7" y="-3714.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;recognition_job &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-3633.1 1838.43,-3693.1 2330.43,-3693.1 2330.43,-3633.1 1838.43,-3633.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-3633.1 1838.43,-3693.1 2330.43,-3693.1 2330.43,-3633.1 1838.43,-3633.1"/>
<text text-anchor="start" x="1849.43" y="-3654.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">id</text>
<text text-anchor="start" x="1874.32" y="-3654.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> &#160;&#160;&#160;</text>
<text text-anchor="start" x="2258.96" y="-3654.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-3573.1 1838.43,-3633.1 2330.43,-3633.1 2330.43,-3573.1 1838.43,-3573.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-3573.1 1838.43,-3633.1 2330.43,-3633.1 2330.43,-3573.1 1838.43,-3573.1"/>
<text text-anchor="start" x="1849.43" y="-3593.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">file_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="2219.87" y="-3594.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<text text-anchor="start" x="2280.33" y="-3594.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="2289.23" y="-3594.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-3513.1 1838.43,-3573.1 2330.43,-3573.1 2330.43,-3513.1 1838.43,-3513.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-3513.1 1838.43,-3573.1 2330.43,-3573.1 2330.43,-3513.1 1838.43,-3513.1"/>
<text text-anchor="start" x="1849.43" y="-3533.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">pipeline &#160;&#160;&#160;</text>
<text text-anchor="start" x="1995.82" y="-3534.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">recognition_pipeline</text>
<text text-anchor="start" x="2280.33" y="-3534.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="2289.23" y="-3534.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-3453.1 1838.43,-3513.1 2330.43,-3513.1 2330.43,-3453.1 1838.43,-3453.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-3453.1 1838.43,-3513.1 2330.43,-3513.1 2330.43,-3453.1 1838.43,-3453.1"/>
<text text-anchor="start" x="1849.43" y="-3473.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">request_subject &#160;&#160;&#160;</text>
<text text-anchor="start" x="2173.66" y="-3474.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<text text-anchor="start" x="2280.33" y="-3474.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="2289.23" y="-3474.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-3393.1 1838.43,-3453.1 2330.43,-3453.1 2330.43,-3393.1 1838.43,-3393.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-3393.1 1838.43,-3453.1 2330.43,-3453.1 2330.43,-3393.1 1838.43,-3393.1"/>
<text text-anchor="start" x="1849.43" y="-3413.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">request_msg_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="2212.75" y="-3414.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-3333.1 1838.43,-3393.1 2330.43,-3393.1 2330.43,-3333.1 1838.43,-3333.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-3333.1 1838.43,-3393.1 2330.43,-3393.1 2330.43,-3333.1 1838.43,-3333.1"/>
<text text-anchor="start" x="1849.43" y="-3353.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">result_msg_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="2212.75" y="-3354.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-3273.1 1838.43,-3333.1 2330.43,-3333.1 2330.43,-3273.1 1838.43,-3273.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-3273.1 1838.43,-3333.1 2330.43,-3333.1 2330.43,-3273.1 1838.43,-3273.1"/>
<text text-anchor="start" x="1849.43" y="-3293.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">schema_version &#160;&#160;&#160;</text>
<text text-anchor="start" x="2173.66" y="-3294.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<text text-anchor="start" x="2280.33" y="-3294.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="2289.23" y="-3294.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-3213.1 1838.43,-3273.1 2330.43,-3273.1 2330.43,-3213.1 1838.43,-3213.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-3213.1 1838.43,-3273.1 2330.43,-3273.1 2330.43,-3213.1 1838.43,-3213.1"/>
<text text-anchor="start" x="1849.43" y="-3233.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">service_name &#160;&#160;&#160;</text>
<text text-anchor="start" x="2212.75" y="-3234.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-3153.1 1838.43,-3213.1 2330.43,-3213.1 2330.43,-3153.1 1838.43,-3153.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-3153.1 1838.43,-3213.1 2330.43,-3213.1 2330.43,-3153.1 1838.43,-3153.1"/>
<text text-anchor="start" x="1849.43" y="-3173.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">service_version &#160;&#160;&#160;</text>
<text text-anchor="start" x="2212.75" y="-3174.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-3093.1 1838.43,-3153.1 2330.43,-3153.1 2330.43,-3093.1 1838.43,-3093.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-3093.1 1838.43,-3153.1 2330.43,-3153.1 2330.43,-3093.1 1838.43,-3093.1"/>
<text text-anchor="start" x="1849.43" y="-3113.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">status &#160;&#160;&#160;</text>
<text text-anchor="start" x="2020.7" y="-3114.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">recognition_status</text>
<text text-anchor="start" x="2280.33" y="-3114.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="2289.23" y="-3114.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-3033.1 1838.43,-3093.1 2330.43,-3093.1 2330.43,-3033.1 1838.43,-3033.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-3033.1 1838.43,-3093.1 2330.43,-3093.1 2330.43,-3033.1 1838.43,-3033.1"/>
<text text-anchor="start" x="1849.43" y="-3053.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">attempt &#160;&#160;&#160;</text>
<text text-anchor="start" x="2171.91" y="-3054.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">smallint</text>
<text text-anchor="start" x="2280.33" y="-3054.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="2289.23" y="-3054.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2973.1 1838.43,-3033.1 2330.43,-3033.1 2330.43,-2973.1 1838.43,-2973.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2973.1 1838.43,-3033.1 2330.43,-3033.1 2330.43,-2973.1 1838.43,-2973.1"/>
<text text-anchor="start" x="1849.43" y="-2993.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">max_attempts &#160;&#160;&#160;</text>
<text text-anchor="start" x="2171.91" y="-2994.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">smallint</text>
<text text-anchor="start" x="2280.33" y="-2994.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="2289.23" y="-2994.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2913.1 1838.43,-2973.1 2330.43,-2973.1 2330.43,-2913.1 1838.43,-2913.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2913.1 1838.43,-2973.1 2330.43,-2973.1 2330.43,-2913.1 1838.43,-2913.1"/>
<text text-anchor="start" x="1849.43" y="-2933.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">requested_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="2146.97" y="-2934.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2853.1 1838.43,-2913.1 2330.43,-2913.1 2330.43,-2853.1 1838.43,-2853.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2853.1 1838.43,-2913.1 2330.43,-2913.1 2330.43,-2853.1 1838.43,-2853.1"/>
<text text-anchor="start" x="1849.43" y="-2873.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">published_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="2146.97" y="-2874.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2793.1 1838.43,-2853.1 2330.43,-2853.1 2330.43,-2793.1 1838.43,-2793.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2793.1 1838.43,-2853.1 2330.43,-2853.1 2330.43,-2793.1 1838.43,-2793.1"/>
<text text-anchor="start" x="1849.43" y="-2813.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">started_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="2146.97" y="-2814.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2733.1 1838.43,-2793.1 2330.43,-2793.1 2330.43,-2733.1 1838.43,-2733.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2733.1 1838.43,-2793.1 2330.43,-2793.1 2330.43,-2733.1 1838.43,-2733.1"/>
<text text-anchor="start" x="1849.43" y="-2753.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">finished_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="2146.97" y="-2754.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2673.1 1838.43,-2733.1 2330.43,-2733.1 2330.43,-2673.1 1838.43,-2673.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2673.1 1838.43,-2733.1 2330.43,-2733.1 2330.43,-2673.1 1838.43,-2673.1"/>
<text text-anchor="start" x="1849.43" y="-2693.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">reply_deadline &#160;&#160;&#160;</text>
<text text-anchor="start" x="2146.97" y="-2694.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2613.1 1838.43,-2673.1 2330.43,-2673.1 2330.43,-2613.1 1838.43,-2613.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2613.1 1838.43,-2673.1 2330.43,-2673.1 2330.43,-2613.1 1838.43,-2613.1"/>
<text text-anchor="start" x="1849.43" y="-2633.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">external_task_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="2212.75" y="-2634.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2553.1 1838.43,-2613.1 2330.43,-2613.1 2330.43,-2553.1 1838.43,-2553.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2553.1 1838.43,-2613.1 2330.43,-2613.1 2330.43,-2553.1 1838.43,-2553.1"/>
<text text-anchor="start" x="1849.43" y="-2573.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">error_code &#160;&#160;&#160;</text>
<text text-anchor="start" x="2212.75" y="-2574.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2493.1 1838.43,-2553.1 2330.43,-2553.1 2330.43,-2493.1 1838.43,-2493.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2493.1 1838.43,-2553.1 2330.43,-2553.1 2330.43,-2493.1 1838.43,-2493.1"/>
<text text-anchor="start" x="1849.43" y="-2513.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">error_message &#160;&#160;&#160;</text>
<text text-anchor="start" x="2267.85" y="-2514.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">text</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2433.1 1838.43,-2493.1 2330.43,-2493.1 2330.43,-2433.1 1838.43,-2433.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2433.1 1838.43,-2493.1 2330.43,-2493.1 2330.43,-2433.1 1838.43,-2433.1"/>
<text text-anchor="start" x="1849.43" y="-2453.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">result_s3_object_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="2258.96" y="-2454.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2373.1 1838.43,-2433.1 2330.43,-2433.1 2330.43,-2373.1 1838.43,-2373.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2373.1 1838.43,-2433.1 2330.43,-2433.1 2330.43,-2373.1 1838.43,-2373.1"/>
<text text-anchor="start" x="1849.43" y="-2393.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">raw_s3_object_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="2258.96" y="-2394.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2313.1 1838.43,-2373.1 2330.43,-2373.1 2330.43,-2313.1 1838.43,-2313.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2313.1 1838.43,-2373.1 2330.43,-2373.1 2330.43,-2313.1 1838.43,-2313.1"/>
<text text-anchor="start" x="1849.17" y="-2333.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">result_schema_version &#160;&#160;&#160;</text>
<text text-anchor="start" x="2213.09" y="-2334.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2253.1 1838.43,-2313.1 2330.43,-2313.1 2330.43,-2253.1 1838.43,-2253.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2253.1 1838.43,-2313.1 2330.43,-2313.1 2330.43,-2253.1 1838.43,-2253.1"/>
<text text-anchor="start" x="1849.43" y="-2273.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">group_schema &#160;&#160;&#160;</text>
<text text-anchor="start" x="2242.96" y="-2274.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">jsonb</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2193.1 1838.43,-2253.1 2330.43,-2253.1 2330.43,-2193.1 1838.43,-2193.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2193.1 1838.43,-2253.1 2330.43,-2253.1 2330.43,-2193.1 1838.43,-2193.1"/>
<text text-anchor="start" x="1849.43" y="-2213.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">metrics &#160;&#160;&#160;</text>
<text text-anchor="start" x="2242.96" y="-2214.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">jsonb</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2133.1 1838.43,-2193.1 2330.43,-2193.1 2330.43,-2133.1 1838.43,-2133.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2133.1 1838.43,-2193.1 2330.43,-2193.1 2330.43,-2133.1 1838.43,-2133.1"/>
<text text-anchor="start" x="1849.43" y="-2153.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">fields_total &#160;&#160;&#160;</text>
<text text-anchor="start" x="2285.64" y="-2154.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">int</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2073.1 1838.43,-2133.1 2330.43,-2133.1 2330.43,-2073.1 1838.43,-2073.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2073.1 1838.43,-2133.1 2330.43,-2133.1 2330.43,-2073.1 1838.43,-2073.1"/>
<text text-anchor="start" x="1849.43" y="-2093.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">fields_low_confidence &#160;&#160;&#160;</text>
<text text-anchor="start" x="2285.64" y="-2094.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">int</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2013.1 1838.43,-2073.1 2330.43,-2073.1 2330.43,-2013.1 1838.43,-2013.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2013.1 1838.43,-2073.1 2330.43,-2073.1 2330.43,-2013.1 1838.43,-2013.1"/>
<text text-anchor="start" x="1849.43" y="-2033.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">fields_unrecognized &#160;&#160;&#160;</text>
<text text-anchor="start" x="2285.64" y="-2034.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">int</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-1953.1 1838.43,-2013.1 2330.43,-2013.1 2330.43,-1953.1 1838.43,-1953.1"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-1953.1 1838.43,-2013.1 2330.43,-2013.1 2330.43,-1953.1 1838.43,-1953.1"/>
<text text-anchor="start" x="1849.43" y="-1973.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">statements_version &#160;&#160;&#160;</text>
<text text-anchor="start" x="2212.75" y="-1974.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1837.43,-1952.1 1837.43,-3754.1 2331.43,-3754.1 2331.43,-1952.1 1837.43,-1952.1"/>
</a>
</g>
</g>
<!-- stored_file&#45;&gt;recognition_job -->
<!-- stored_file&#45;&gt;recognition_job -->
<g id="edge8" class="edge">
<title>stored_file:e&#45;&gt;recognition_job:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1593.56,-3003.1C1902.77,-3003.1 1533.19,-3648.36 1827.15,-3662.86"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1827.34,-3666.36 1837.43,-3663.1 1827.51,-3659.36 1827.34,-3666.36"/>
<text text-anchor="middle" x="1828.53" y="-3672.7" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="1587.34" y="-3012.7" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- document -->
<g id="document" class="node">
<title>document</title>
<g id="a_document"><a xlink:title="document&#10;Логический документ внутри файла. Создаётся ядром при маппинге результата recognition_job. Разобранные данные: OSV → osv_entry; BALANCE/INCOME → financial_statement_meta. Счётчики «исправлено полей» — COUNT(is_modified) по данным, не хранятся. v5.19: предупреждения и нарушения §7 — document_issue; две формы одного типа и периода в файле не автоподтверждаются (Р&#45;18). v5.20: период и счёт ОСВ уточняются аналитиком на месте, распознанное — в original_values, + audit_event(RECOGNIZED_DATA_EDIT, before/after); уточнение подтверждённого документа сбрасывает подтверждение и снимает привязки к версиям (05&#45;domain&#45;rules §9.5 п. 12)">
<ellipse fill="none" stroke="black" stroke-width="0" cx="478.71" cy="-1765.1" rx="478.92" ry="978.77"/>
<polygon fill="#1d71b8" stroke="transparent" points="142.71,-2395.1 142.71,-2455.1 815.71,-2455.1 815.71,-2395.1 142.71,-2395.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-2395.1 142.71,-2455.1 815.71,-2455.1 815.71,-2395.1 142.71,-2395.1"/>
<text text-anchor="start" x="346.72" y="-2416.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;document &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-2335.1 142.71,-2395.1 815.71,-2395.1 815.71,-2335.1 142.71,-2335.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-2335.1 142.71,-2395.1 815.71,-2395.1 815.71,-2335.1 142.71,-2335.1"/>
<text text-anchor="start" x="153.71" y="-2356.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">id</text>
<text text-anchor="start" x="178.6" y="-2356.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> &#160;&#160;&#160;</text>
<text text-anchor="start" x="744.24" y="-2356.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-2275.1 142.71,-2335.1 815.71,-2335.1 815.71,-2275.1 142.71,-2275.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-2275.1 142.71,-2335.1 815.71,-2335.1 815.71,-2275.1 142.71,-2275.1"/>
<text text-anchor="start" x="153.71" y="-2295.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">stored_file_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="705.15" y="-2296.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<text text-anchor="start" x="765.62" y="-2296.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="774.51" y="-2296.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-2215.1 142.71,-2275.1 815.71,-2275.1 815.71,-2215.1 142.71,-2215.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-2215.1 142.71,-2275.1 815.71,-2275.1 815.71,-2215.1 142.71,-2215.1"/>
<text text-anchor="start" x="153.71" y="-2235.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">legal_entity_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="705.15" y="-2236.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<text text-anchor="start" x="765.62" y="-2236.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="774.51" y="-2236.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-2155.1 142.71,-2215.1 815.71,-2215.1 815.71,-2155.1 142.71,-2155.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-2155.1 142.71,-2215.1 815.71,-2215.1 815.71,-2155.1 142.71,-2155.1"/>
<text text-anchor="start" x="153.71" y="-2175.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">document_type &#160;&#160;&#160;</text>
<text text-anchor="start" x="546.87" y="-2176.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">document_type</text>
<text text-anchor="start" x="765.62" y="-2176.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="774.51" y="-2176.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-2095.1 142.71,-2155.1 815.71,-2155.1 815.71,-2095.1 142.71,-2095.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-2095.1 142.71,-2155.1 815.71,-2155.1 815.71,-2095.1 142.71,-2095.1"/>
<text text-anchor="start" x="153.71" y="-2115.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">osv_account_code &#160;&#160;&#160;</text>
<text text-anchor="start" x="698.04" y="-2116.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-2035.1 142.71,-2095.1 815.71,-2095.1 815.71,-2035.1 142.71,-2035.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-2035.1 142.71,-2095.1 815.71,-2095.1 815.71,-2035.1 142.71,-2035.1"/>
<text text-anchor="start" x="153.71" y="-2055.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">period_year &#160;&#160;&#160;</text>
<text text-anchor="start" x="696.29" y="-2056.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">smallint</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-1975.1 142.71,-2035.1 815.71,-2035.1 815.71,-1975.1 142.71,-1975.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-1975.1 142.71,-2035.1 815.71,-2035.1 815.71,-1975.1 142.71,-1975.1"/>
<text text-anchor="start" x="153.71" y="-1995.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">period_quarter &#160;&#160;&#160;</text>
<text text-anchor="start" x="596.66" y="-1996.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">period_quarter</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-1915.1 142.71,-1975.1 815.71,-1975.1 815.71,-1915.1 142.71,-1915.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-1915.1 142.71,-1975.1 815.71,-1975.1 815.71,-1915.1 142.71,-1915.1"/>
<text text-anchor="start" x="153.71" y="-1935.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">is_cumulative &#160;&#160;&#160;</text>
<text text-anchor="start" x="690.88" y="-1936.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">boolean</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-1855.1 142.71,-1915.1 815.71,-1915.1 815.71,-1855.1 142.71,-1855.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-1855.1 142.71,-1915.1 815.71,-1915.1 815.71,-1855.1 142.71,-1855.1"/>
<text text-anchor="start" x="153.71" y="-1875.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">reporting_date &#160;&#160;&#160;</text>
<text text-anchor="start" x="742.45" y="-1876.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">date</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-1795.1 142.71,-1855.1 815.71,-1855.1 815.71,-1795.1 142.71,-1795.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-1795.1 142.71,-1855.1 815.71,-1855.1 815.71,-1795.1 142.71,-1795.1"/>
<text text-anchor="start" x="153.71" y="-1815.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">locator &#160;&#160;&#160;</text>
<text text-anchor="start" x="698.04" y="-1816.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-1735.1 142.71,-1795.1 815.71,-1795.1 815.71,-1735.1 142.71,-1735.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-1735.1 142.71,-1795.1 815.71,-1795.1 815.71,-1735.1 142.71,-1735.1"/>
<text text-anchor="start" x="153.71" y="-1755.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">status &#160;&#160;&#160;</text>
<text text-anchor="start" x="521.98" y="-1756.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">document_status</text>
<text text-anchor="start" x="765.62" y="-1756.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="774.51" y="-1756.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-1675.1 142.71,-1735.1 815.71,-1735.1 815.71,-1675.1 142.71,-1675.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-1675.1 142.71,-1735.1 815.71,-1735.1 815.71,-1675.1 142.71,-1675.1"/>
<text text-anchor="start" x="153.71" y="-1695.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">period_check &#160;&#160;&#160;</text>
<text text-anchor="start" x="466.84" y="-1696.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">document_check_result</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-1615.1 142.71,-1675.1 815.71,-1675.1 815.71,-1615.1 142.71,-1615.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-1615.1 142.71,-1675.1 815.71,-1675.1 815.71,-1615.1 142.71,-1615.1"/>
<text text-anchor="start" x="153.33" y="-1635.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">counterparty_check &#160;&#160;&#160;</text>
<text text-anchor="start" x="467.28" y="-1636.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">document_check_result</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-1555.1 142.71,-1615.1 815.71,-1615.1 815.71,-1555.1 142.71,-1555.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-1555.1 142.71,-1615.1 815.71,-1615.1 815.71,-1555.1 142.71,-1555.1"/>
<text text-anchor="start" x="153.71" y="-1575.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">confirmed_by &#160;&#160;&#160;</text>
<text text-anchor="start" x="744.24" y="-1576.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-1495.1 142.71,-1555.1 815.71,-1555.1 815.71,-1495.1 142.71,-1495.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-1495.1 142.71,-1555.1 815.71,-1555.1 815.71,-1495.1 142.71,-1495.1"/>
<text text-anchor="start" x="153.71" y="-1515.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">confirmed_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="632.26" y="-1516.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-1435.1 142.71,-1495.1 815.71,-1495.1 815.71,-1435.1 142.71,-1435.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-1435.1 142.71,-1495.1 815.71,-1495.1 815.71,-1435.1 142.71,-1435.1"/>
<text text-anchor="start" x="153.71" y="-1455.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">created_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="632.26" y="-1456.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-1375.1 142.71,-1435.1 815.71,-1435.1 815.71,-1375.1 142.71,-1375.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-1375.1 142.71,-1435.1 815.71,-1435.1 815.71,-1375.1 142.71,-1375.1"/>
<text text-anchor="start" x="153.71" y="-1395.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">updated_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="632.26" y="-1396.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-1315.1 142.71,-1375.1 815.71,-1375.1 815.71,-1315.1 142.71,-1315.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-1315.1 142.71,-1375.1 815.71,-1375.1 815.71,-1315.1 142.71,-1315.1"/>
<text text-anchor="start" x="153.71" y="-1335.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">file_ordinal &#160;&#160;&#160;</text>
<text text-anchor="start" x="657.19" y="-1336.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">smallint</text>
<text text-anchor="start" x="765.62" y="-1336.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="774.51" y="-1336.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-1255.1 142.71,-1315.1 815.71,-1315.1 815.71,-1255.1 142.71,-1255.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-1255.1 142.71,-1315.1 815.71,-1315.1 815.71,-1255.1 142.71,-1255.1"/>
<text text-anchor="start" x="153.71" y="-1275.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">is_modified &#160;&#160;&#160;</text>
<text text-anchor="start" x="651.79" y="-1276.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">boolean</text>
<text text-anchor="start" x="765.62" y="-1276.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="774.51" y="-1276.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-1195.1 142.71,-1255.1 815.71,-1255.1 815.71,-1195.1 142.71,-1195.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-1195.1 142.71,-1255.1 815.71,-1255.1 815.71,-1195.1 142.71,-1195.1"/>
<text text-anchor="start" x="153.71" y="-1215.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">original_values &#160;&#160;&#160;</text>
<text text-anchor="start" x="728.24" y="-1216.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">jsonb</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-1135.1 142.71,-1195.1 815.71,-1195.1 815.71,-1135.1 142.71,-1135.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-1135.1 142.71,-1195.1 815.71,-1195.1 815.71,-1135.1 142.71,-1135.1"/>
<text text-anchor="start" x="153.71" y="-1155.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">modified_by &#160;&#160;&#160;</text>
<text text-anchor="start" x="744.24" y="-1156.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-1075.1 142.71,-1135.1 815.71,-1135.1 815.71,-1075.1 142.71,-1075.1"/>
<polygon fill="none" stroke="#29235c" points="142.71,-1075.1 142.71,-1135.1 815.71,-1135.1 815.71,-1075.1 142.71,-1075.1"/>
<text text-anchor="start" x="153.71" y="-1095.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">modified_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="632.26" y="-1096.3" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="141.21,-1074.1 141.21,-2456.1 816.21,-2456.1 816.21,-1074.1 141.21,-1074.1"/>
</a>
</g>
</g>
<!-- document&#45;&gt;document_type -->
<g id="edge30" class="edge">
<title>document:e&#45;&gt;document_type:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M816.71,-2185.1C973.28,-2185.1 1005.99,-2252.1 1162.56,-2252.1"/>
</g>
<!-- document&#45;&gt;period_quarter -->
<g id="edge31" class="edge">
<title>document:e&#45;&gt;period_quarter:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M816.71,-2005.1C925.38,-2005.1 906.96,-1901.93 993.42,-1836.1 1065.15,-1781.49 1077.41,-1732.1 1167.56,-1732.1"/>
</g>
<!-- document&#45;&gt;document_status -->
<g id="edge32" class="edge">
<title>document:e&#45;&gt;document_status:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M816.71,-1765.1C1001.76,-1765.1 872.69,-1528.35 993.42,-1388.1 1047.82,-1324.91 1066.18,-1284.1 1149.56,-1284.1"/>
</g>
<!-- document&#45;&gt;document_check_result -->
<g id="edge33" class="edge">
<title>document:e&#45;&gt;document_check_result:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M816.71,-1705.1C1217.81,-1705.1 701.47,-849.1 1102.56,-849.1"/>
</g>
<!-- document&#45;&gt;document_check_result -->
<g id="edge34" class="edge">
<title>document:e&#45;&gt;document_check_result:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M816.71,-1645.1C1192.61,-1645.1 726.66,-849.1 1102.56,-849.1"/>
</g>
<!-- document&#45;&gt;app_user -->
<!-- document&#45;&gt;app_user -->
<g id="edge18" class="edge">
<title>document:e&#45;&gt;app_user:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M816.71,-1585.1C1044.13,-1585.1 860.62,-761.71 993.42,-577.1 1061.84,-481.99 1786.03,-82.14 1934.05,-61.9"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1934.72,-65.36 1944.43,-61.1 1934.19,-58.38 1934.72,-65.36"/>
<text text-anchor="middle" x="1953.32" y="-32.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="810.49" y="-1594.7" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- document&#45;&gt;app_user -->
<!-- document&#45;&gt;app_user -->
<g id="edge20" class="edge">
<title>document:e&#45;&gt;app_user:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M816.71,-1165.1C1269.79,-1165.1 662.12,-470.16 993.42,-161.1 1301.69,126.46 1515.95,-58.07 1934.19,-61.07"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1934.41,-64.57 1944.43,-61.1 1934.44,-57.57 1934.41,-64.57"/>
<text text-anchor="middle" x="1935.53" y="-70.7" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="810.49" y="-1174.7" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- document&#45;&gt;legal_entity -->
<!-- document&#45;&gt;legal_entity -->
<g id="edge16" class="edge">
<title>document:e&#45;&gt;legal_entity:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M816.71,-2245.1C1207.36,-2245.1 732.28,-3703.57 993.42,-3994.1 1207.24,-4231.98 1406.35,-4010.13 1697.7,-4142.1 1715.92,-4150.36 1716.17,-4159.47 1733.7,-4169.1 1812.18,-4212.23 1834.77,-4240.91 1919.36,-4242.98"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1919.38,-4246.48 1929.43,-4243.1 1919.47,-4239.48 1919.38,-4246.48"/>
<text text-anchor="middle" x="1938.32" y="-4252.7" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="810.49" y="-2254.7" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- document&#45;&gt;stored_file -->
<!-- document&#45;&gt;stored_file -->
<g id="edge14" class="edge">
<title>document:e&#45;&gt;stored_file:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M816.71,-2305.1C1121.41,-2305.1 796.85,-3632.77 1087.42,-3662.59"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1087.4,-3666.1 1097.56,-3663.1 1087.75,-3659.11 1087.4,-3666.1"/>
<text text-anchor="middle" x="1088.67" y="-3634.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="810.49" y="-2314.7" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- recognition_job&#45;&gt;recognition_pipeline -->
<g id="edge35" class="edge">
<title>recognition_job:e&#45;&gt;recognition_pipeline:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M2331.43,-3543.1C2641.49,-3543.1 2285.91,-4913.1 2595.98,-4913.1"/>
</g>
<!-- recognition_job&#45;&gt;recognition_status -->
<g id="edge36" class="edge">
<title>recognition_job:e&#45;&gt;recognition_status:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M2331.43,-3123.1C2512.55,-3123.1 2436.51,-3748.32 2471.15,-3926.1 2526.28,-4209.05 2319.71,-4560.1 2607.98,-4560.1"/>
</g>
<!-- recognition_job&#45;&gt;s3_object -->
<!-- recognition_job&#45;&gt;s3_object -->
<g id="edge24" class="edge">
<title>recognition_job:e&#45;&gt;s3_object:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M2331.43,-2463.1C2871.92,-2463.1 2038.73,-3647.92 2561.79,-3662.96"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="2561.93,-3666.46 2571.98,-3663.1 2562.03,-3659.46 2561.93,-3666.46"/>
<text text-anchor="middle" x="2580.87" y="-3634.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="2325.2" y="-2472.7" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- recognition_job&#45;&gt;s3_object -->
<!-- recognition_job&#45;&gt;s3_object -->
<g id="edge26" class="edge">
<title>recognition_job:e&#45;&gt;s3_object:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M2331.43,-2403.1C2898.06,-2403.1 2012.79,-3647.77 2561.7,-3662.96"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="2561.93,-3666.47 2571.98,-3663.1 2562.03,-3659.47 2561.93,-3666.47"/>
<text text-anchor="middle" x="2563.08" y="-3672.7" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="2325.2" y="-2412.7" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- recognition_job&#45;&gt;stored_file -->
<!-- recognition_job&#45;&gt;stored_file -->
<g id="edge22" class="edge">
<title>recognition_job:e&#45;&gt;stored_file:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M2331.43,-3603.1C2448.23,-3603.1 2413.1,-4046.21 2330.43,-4128.72 2306.96,-4152.14 1766.31,-4134.69 1733.7,-4128.72 1716.87,-4125.65 1714.03,-4120.19 1697.7,-4115.1 1435.82,-4033.56 1268.03,-4182.84 1098.56,-3967.18 1017.26,-3863.72 965.21,-3673.47 1087.26,-3663.51"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1087.71,-3667 1097.56,-3663.1 1087.43,-3660 1087.71,-3667"/>
<text text-anchor="middle" x="1106.46" y="-3634.3" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="2325.2" y="-3612.7" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
</g>
</svg>