arm-ka-docs/model/diagrams/part04_files_jobs.svg
2026-10-02 23:02:44 +04:00

691 lines
82 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="3952pt" height="5569pt"
viewBox="0.00 0.00 3952.12 5568.79" 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 5564.79)">
<title>dbml</title>
<!-- document_type -->
<g id="document_type" class="node">
<title>document_type</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="2102.94" cy="-2619.68" rx="568.53" ry="257.27"/>
<polygon fill="#29235c" stroke="transparent" points="1702.94,-2739.68 1702.94,-2799.68 2502.94,-2799.68 2502.94,-2739.68 1702.94,-2739.68"/>
<polygon fill="none" stroke="#29235c" points="1702.94,-2739.68 1702.94,-2799.68 2502.94,-2799.68 2502.94,-2739.68 1702.94,-2739.68"/>
<text text-anchor="start" x="1931.31" y="-2760.88" 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="1702.94,-2679.68 1702.94,-2739.68 2502.94,-2739.68 2502.94,-2679.68 1702.94,-2679.68"/>
<polygon fill="none" stroke="#29235c" points="1702.94,-2679.68 1702.94,-2739.68 2502.94,-2739.68 2502.94,-2679.68 1702.94,-2679.68"/>
<text text-anchor="start" x="1713.55" y="-2700.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;Бухгалтерский баланс &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1702.94,-2619.68 1702.94,-2679.68 2502.94,-2679.68 2502.94,-2619.68 1702.94,-2619.68"/>
<polygon fill="none" stroke="#29235c" points="1702.94,-2619.68 1702.94,-2679.68 2502.94,-2679.68 2502.94,-2619.68 1702.94,-2619.68"/>
<text text-anchor="start" x="2007.8" y="-2640.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;ОФР &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1702.94,-2559.68 1702.94,-2619.68 2502.94,-2619.68 2502.94,-2559.68 1702.94,-2559.68"/>
<polygon fill="none" stroke="#29235c" points="1702.94,-2559.68 1702.94,-2619.68 2502.94,-2619.68 2502.94,-2559.68 1702.94,-2559.68"/>
<text text-anchor="start" x="2005.15" y="-2580.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;ОСВ &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1702.94,-2499.68 1702.94,-2559.68 2502.94,-2559.68 2502.94,-2499.68 1702.94,-2499.68"/>
<polygon fill="none" stroke="#29235c" points="1702.94,-2499.68 1702.94,-2559.68 2502.94,-2559.68 2502.94,-2499.68 1702.94,-2499.68"/>
<text text-anchor="start" x="1884.24" y="-2520.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;Расшифровка &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1702.94,-2439.68 1702.94,-2499.68 2502.94,-2499.68 2502.94,-2439.68 1702.94,-2439.68"/>
<polygon fill="none" stroke="#29235c" points="1702.94,-2439.68 1702.94,-2499.68 2502.94,-2499.68 2502.94,-2439.68 1702.94,-2439.68"/>
<text text-anchor="start" x="1798.91" y="-2460.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;Прочий документ &#160;&#160;&#160;</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1701.94,-2438.68 1701.94,-2800.68 2503.94,-2800.68 2503.94,-2438.68 1701.94,-2438.68"/>
</g>
<!-- file_type -->
<g id="file_type" class="node">
<title>file_type</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="2102.94" cy="-2001.68" rx="190.42" ry="342.48"/>
<polygon fill="#29235c" stroke="transparent" points="1970.94,-2181.68 1970.94,-2241.68 2235.94,-2241.68 2235.94,-2181.68 1970.94,-2181.68"/>
<polygon fill="none" stroke="#29235c" points="1970.94,-2181.68 1970.94,-2241.68 2235.94,-2241.68 2235.94,-2181.68 1970.94,-2181.68"/>
<text text-anchor="start" x="1981.62" y="-2202.88" 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="1970.94,-2121.68 1970.94,-2181.68 2235.94,-2181.68 2235.94,-2121.68 1970.94,-2121.68"/>
<polygon fill="none" stroke="#29235c" points="1970.94,-2121.68 1970.94,-2181.68 2235.94,-2181.68 2235.94,-2121.68 1970.94,-2121.68"/>
<text text-anchor="start" x="2037.63" y="-2142.88" 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="1970.94,-2061.68 1970.94,-2121.68 2235.94,-2121.68 2235.94,-2061.68 1970.94,-2061.68"/>
<polygon fill="none" stroke="#29235c" points="1970.94,-2061.68 1970.94,-2121.68 2235.94,-2121.68 2235.94,-2061.68 1970.94,-2061.68"/>
<text text-anchor="start" x="2026.96" y="-2082.88" 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="1970.94,-2001.68 1970.94,-2061.68 2235.94,-2061.68 2235.94,-2001.68 1970.94,-2001.68"/>
<polygon fill="none" stroke="#29235c" points="1970.94,-2001.68 1970.94,-2061.68 2235.94,-2061.68 2235.94,-2001.68 1970.94,-2001.68"/>
<text text-anchor="start" x="2026.96" y="-2022.88" 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="1970.94,-1941.68 1970.94,-2001.68 2235.94,-2001.68 2235.94,-1941.68 1970.94,-1941.68"/>
<polygon fill="none" stroke="#29235c" points="1970.94,-1941.68 1970.94,-2001.68 2235.94,-2001.68 2235.94,-1941.68 1970.94,-1941.68"/>
<text text-anchor="start" x="2048.3" y="-1962.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;P7 &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1970.94,-1881.68 1970.94,-1941.68 2235.94,-1941.68 2235.94,-1881.68 1970.94,-1881.68"/>
<polygon fill="none" stroke="#29235c" points="1970.94,-1881.68 1970.94,-1941.68 2235.94,-1941.68 2235.94,-1881.68 1970.94,-1881.68"/>
<text text-anchor="start" x="2035.87" y="-1902.88" 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="1970.94,-1821.68 1970.94,-1881.68 2235.94,-1881.68 2235.94,-1821.68 1970.94,-1821.68"/>
<polygon fill="none" stroke="#29235c" points="1970.94,-1821.68 1970.94,-1881.68 2235.94,-1881.68 2235.94,-1821.68 1970.94,-1821.68"/>
<text text-anchor="start" x="2033.2" y="-1842.88" 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="1970.94,-1761.68 1970.94,-1821.68 2235.94,-1821.68 2235.94,-1761.68 1970.94,-1761.68"/>
<polygon fill="none" stroke="#29235c" points="1970.94,-1761.68 1970.94,-1821.68 2235.94,-1821.68 2235.94,-1761.68 1970.94,-1761.68"/>
<text text-anchor="start" x="2036.75" y="-1782.88" 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="1969.44,-1760.68 1969.44,-2242.68 2236.44,-2242.68 2236.44,-1760.68 1969.44,-1760.68"/>
</g>
<!-- recognition_pipeline -->
<g id="recognition_pipeline" class="node">
<title>recognition_pipeline</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="3048.28" cy="-5430.68" rx="307.68" ry="130.22"/>
<polygon fill="#29235c" stroke="transparent" points="2833.28,-5460.68 2833.28,-5520.68 3264.28,-5520.68 3264.28,-5460.68 2833.28,-5460.68"/>
<polygon fill="none" stroke="#29235c" points="2833.28,-5460.68 2833.28,-5520.68 3264.28,-5520.68 3264.28,-5460.68 2833.28,-5460.68"/>
<text text-anchor="start" x="2844.27" y="-5481.88" 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="2833.28,-5400.68 2833.28,-5460.68 3264.28,-5460.68 3264.28,-5400.68 2833.28,-5400.68"/>
<polygon fill="none" stroke="#29235c" points="2833.28,-5400.68 2833.28,-5460.68 3264.28,-5460.68 3264.28,-5400.68 2833.28,-5400.68"/>
<text text-anchor="start" x="2964.3" y="-5421.88" 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="2833.28,-5340.68 2833.28,-5400.68 3264.28,-5400.68 3264.28,-5340.68 2833.28,-5340.68"/>
<polygon fill="none" stroke="#29235c" points="2833.28,-5340.68 2833.28,-5400.68 3264.28,-5400.68 3264.28,-5340.68 2833.28,-5340.68"/>
<text text-anchor="start" x="2969.64" y="-5361.88" 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="2831.78,-5339.68 2831.78,-5521.68 3264.78,-5521.68 3264.78,-5339.68 2831.78,-5339.68"/>
</g>
<!-- period_quarter -->
<g id="period_quarter" class="node">
<title>period_quarter</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="2102.94" cy="-1388.68" rx="253.29" ry="214.92"/>
<polygon fill="#29235c" stroke="transparent" points="1925.94,-1478.68 1925.94,-1538.68 2279.94,-1538.68 2279.94,-1478.68 1925.94,-1478.68"/>
<polygon fill="none" stroke="#29235c" points="1925.94,-1478.68 1925.94,-1538.68 2279.94,-1538.68 2279.94,-1478.68 1925.94,-1478.68"/>
<text text-anchor="start" x="1936.66" y="-1499.88" 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="1925.94,-1418.68 1925.94,-1478.68 2279.94,-1478.68 2279.94,-1418.68 1925.94,-1418.68"/>
<polygon fill="none" stroke="#29235c" points="1925.94,-1418.68 1925.94,-1478.68 2279.94,-1478.68 2279.94,-1418.68 1925.94,-1418.68"/>
<text text-anchor="start" x="2046.02" y="-1439.88" 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="1925.94,-1358.68 1925.94,-1418.68 2279.94,-1418.68 2279.94,-1358.68 1925.94,-1358.68"/>
<polygon fill="none" stroke="#29235c" points="1925.94,-1358.68 1925.94,-1418.68 2279.94,-1418.68 2279.94,-1358.68 1925.94,-1358.68"/>
<text text-anchor="start" x="2046.02" y="-1379.88" 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="1925.94,-1298.68 1925.94,-1358.68 2279.94,-1358.68 2279.94,-1298.68 1925.94,-1298.68"/>
<polygon fill="none" stroke="#29235c" points="1925.94,-1298.68 1925.94,-1358.68 2279.94,-1358.68 2279.94,-1298.68 1925.94,-1298.68"/>
<text text-anchor="start" x="2046.02" y="-1319.88" 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="1925.94,-1238.68 1925.94,-1298.68 2279.94,-1298.68 2279.94,-1238.68 1925.94,-1238.68"/>
<polygon fill="none" stroke="#29235c" points="1925.94,-1238.68 1925.94,-1298.68 2279.94,-1298.68 2279.94,-1238.68 1925.94,-1238.68"/>
<text text-anchor="start" x="2046.02" y="-1259.88" 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="1924.94,-1237.68 1924.94,-1539.68 2280.94,-1539.68 2280.94,-1237.68 1924.94,-1237.68"/>
</g>
<!-- file_status -->
<g id="file_status" class="node">
<title>file_status</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="2102.94" cy="-855.68" rx="238.09" ry="299.63"/>
<polygon fill="#29235c" stroke="transparent" points="1936.94,-1005.68 1936.94,-1065.68 2269.94,-1065.68 2269.94,-1005.68 1936.94,-1005.68"/>
<polygon fill="none" stroke="#29235c" points="1936.94,-1005.68 1936.94,-1065.68 2269.94,-1065.68 2269.94,-1005.68 1936.94,-1005.68"/>
<text text-anchor="start" x="1969.17" y="-1026.88" 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="1936.94,-945.68 1936.94,-1005.68 2269.94,-1005.68 2269.94,-945.68 1936.94,-945.68"/>
<polygon fill="none" stroke="#29235c" points="1936.94,-945.68 1936.94,-1005.68 2269.94,-1005.68 2269.94,-945.68 1936.94,-945.68"/>
<text text-anchor="start" x="1979.86" y="-966.88" 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="1936.94,-885.68 1936.94,-945.68 2269.94,-945.68 2269.94,-885.68 1936.94,-885.68"/>
<polygon fill="none" stroke="#29235c" points="1936.94,-885.68 1936.94,-945.68 2269.94,-945.68 2269.94,-885.68 1936.94,-885.68"/>
<text text-anchor="start" x="1961.19" y="-906.88" 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="1936.94,-825.68 1936.94,-885.68 2269.94,-885.68 2269.94,-825.68 1936.94,-825.68"/>
<polygon fill="none" stroke="#29235c" points="1936.94,-825.68 1936.94,-885.68 2269.94,-885.68 2269.94,-825.68 1936.94,-825.68"/>
<text text-anchor="start" x="1947.87" y="-846.88" 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="1936.94,-765.68 1936.94,-825.68 2269.94,-825.68 2269.94,-765.68 1936.94,-765.68"/>
<polygon fill="none" stroke="#29235c" points="1936.94,-765.68 1936.94,-825.68 2269.94,-825.68 2269.94,-765.68 1936.94,-765.68"/>
<text text-anchor="start" x="1971" y="-786.88" 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="1936.94,-705.68 1936.94,-765.68 2269.94,-765.68 2269.94,-705.68 1936.94,-705.68"/>
<polygon fill="none" stroke="#29235c" points="1936.94,-705.68 1936.94,-765.68 2269.94,-765.68 2269.94,-705.68 1936.94,-705.68"/>
<text text-anchor="start" x="2010.1" y="-726.88" 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="1936.94,-645.68 1936.94,-705.68 2269.94,-705.68 2269.94,-645.68 1936.94,-645.68"/>
<polygon fill="none" stroke="#29235c" points="1936.94,-645.68 1936.94,-705.68 2269.94,-705.68 2269.94,-645.68 1936.94,-645.68"/>
<text text-anchor="start" x="1957.64" y="-666.88" 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="1935.44,-644.68 1935.44,-1066.68 2270.44,-1066.68 2270.44,-644.68 1935.44,-644.68"/>
</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="3684.61" cy="-4848.68" rx="259.52" ry="214.92"/>
<polygon fill="#29235c" stroke="transparent" points="3503.61,-4938.68 3503.61,-4998.68 3866.61,-4998.68 3866.61,-4938.68 3503.61,-4938.68"/>
<polygon fill="none" stroke="#29235c" points="3503.61,-4938.68 3503.61,-4998.68 3866.61,-4998.68 3866.61,-4938.68 3503.61,-4938.68"/>
<text text-anchor="start" x="3514.38" y="-4959.88" 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="3503.61,-4878.68 3503.61,-4938.68 3866.61,-4938.68 3866.61,-4878.68 3503.61,-4878.68"/>
<polygon fill="none" stroke="#29235c" points="3503.61,-4878.68 3503.61,-4938.68 3866.61,-4938.68 3866.61,-4878.68 3503.61,-4878.68"/>
<text text-anchor="start" x="3593.52" y="-4899.88" 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="3503.61,-4818.68 3503.61,-4878.68 3866.61,-4878.68 3866.61,-4818.68 3503.61,-4818.68"/>
<polygon fill="none" stroke="#29235c" points="3503.61,-4818.68 3503.61,-4878.68 3866.61,-4878.68 3866.61,-4818.68 3503.61,-4818.68"/>
<text text-anchor="start" x="3602.43" y="-4839.88" 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="3503.61,-4758.68 3503.61,-4818.68 3866.61,-4818.68 3866.61,-4758.68 3503.61,-4758.68"/>
<polygon fill="none" stroke="#29235c" points="3503.61,-4758.68 3503.61,-4818.68 3866.61,-4818.68 3866.61,-4758.68 3503.61,-4758.68"/>
<text text-anchor="start" x="3597.08" y="-4779.88" 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="3503.61,-4698.68 3503.61,-4758.68 3866.61,-4758.68 3866.61,-4698.68 3503.61,-4698.68"/>
<polygon fill="none" stroke="#29235c" points="3503.61,-4698.68 3503.61,-4758.68 3866.61,-4758.68 3866.61,-4698.68 3503.61,-4698.68"/>
<text text-anchor="start" x="3597.98" y="-4719.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;archive &#160;&#160;&#160;</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="3502.11,-4697.68 3502.11,-4999.68 3867.11,-4999.68 3867.11,-4697.68 3502.11,-4697.68"/>
</g>
<!-- recognition_status -->
<g id="recognition_status" class="node">
<title>recognition_status</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="3048.28" cy="-3771.68" rx="289.83" ry="384.83"/>
<polygon fill="#29235c" stroke="transparent" points="2845.28,-3981.68 2845.28,-4041.68 3251.28,-4041.68 3251.28,-3981.68 2845.28,-3981.68"/>
<polygon fill="none" stroke="#29235c" points="2845.28,-3981.68 2845.28,-4041.68 3251.28,-4041.68 3251.28,-3981.68 2845.28,-3981.68"/>
<text text-anchor="start" x="2856.21" y="-4002.88" 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="2845.28,-3921.68 2845.28,-3981.68 3251.28,-3981.68 3251.28,-3921.68 2845.28,-3921.68"/>
<polygon fill="none" stroke="#29235c" points="2845.28,-3921.68 2845.28,-3981.68 3251.28,-3981.68 3251.28,-3921.68 2845.28,-3921.68"/>
<text text-anchor="start" x="2959.34" y="-3942.88" 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="2845.28,-3861.68 2845.28,-3921.68 3251.28,-3921.68 3251.28,-3861.68 2845.28,-3861.68"/>
<polygon fill="none" stroke="#29235c" points="2845.28,-3861.68 2845.28,-3921.68 3251.28,-3921.68 3251.28,-3861.68 2845.28,-3861.68"/>
<text text-anchor="start" x="2944.24" y="-3882.88" 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="2845.28,-3801.68 2845.28,-3861.68 3251.28,-3861.68 3251.28,-3801.68 2845.28,-3801.68"/>
<polygon fill="none" stroke="#29235c" points="2845.28,-3801.68 2845.28,-3861.68 3251.28,-3861.68 3251.28,-3801.68 2845.28,-3801.68"/>
<text text-anchor="start" x="2935.36" y="-3822.88" 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="2845.28,-3741.68 2845.28,-3801.68 3251.28,-3801.68 3251.28,-3741.68 2845.28,-3741.68"/>
<polygon fill="none" stroke="#29235c" points="2845.28,-3741.68 2845.28,-3801.68 3251.28,-3801.68 3251.28,-3741.68 2845.28,-3741.68"/>
<text text-anchor="start" x="2977.13" y="-3762.88" 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="2845.28,-3681.68 2845.28,-3741.68 3251.28,-3741.68 3251.28,-3681.68 2845.28,-3681.68"/>
<polygon fill="none" stroke="#29235c" points="2845.28,-3681.68 2845.28,-3741.68 3251.28,-3741.68 3251.28,-3681.68 2845.28,-3681.68"/>
<text text-anchor="start" x="2918.44" y="-3702.88" 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="2845.28,-3621.68 2845.28,-3681.68 3251.28,-3681.68 3251.28,-3621.68 2845.28,-3621.68"/>
<polygon fill="none" stroke="#29235c" points="2845.28,-3621.68 2845.28,-3681.68 3251.28,-3681.68 3251.28,-3621.68 2845.28,-3621.68"/>
<text text-anchor="start" x="2978.94" y="-3642.88" 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="2845.28,-3561.68 2845.28,-3621.68 3251.28,-3621.68 3251.28,-3561.68 2845.28,-3561.68"/>
<polygon fill="none" stroke="#29235c" points="2845.28,-3561.68 2845.28,-3621.68 3251.28,-3621.68 3251.28,-3561.68 2845.28,-3561.68"/>
<text text-anchor="start" x="2960.25" y="-3582.88" 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="2845.28,-3501.68 2845.28,-3561.68 3251.28,-3561.68 3251.28,-3501.68 2845.28,-3501.68"/>
<polygon fill="none" stroke="#29235c" points="2845.28,-3501.68 2845.28,-3561.68 3251.28,-3561.68 3251.28,-3501.68 2845.28,-3501.68"/>
<text text-anchor="start" x="2991.37" y="-3522.88" 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="2844.28,-3500.68 2844.28,-4042.68 3252.28,-4042.68 3252.28,-3500.68 2844.28,-3500.68"/>
</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="2102.94" cy="-365.68" rx="345.14" ry="172.57"/>
<polygon fill="#29235c" stroke="transparent" points="1860.94,-425.68 1860.94,-485.68 2344.94,-485.68 2344.94,-425.68 1860.94,-425.68"/>
<polygon fill="none" stroke="#29235c" points="1860.94,-425.68 1860.94,-485.68 2344.94,-485.68 2344.94,-425.68 1860.94,-425.68"/>
<text text-anchor="start" x="1871.75" y="-446.88" 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="1860.94,-365.68 1860.94,-425.68 2344.94,-425.68 2344.94,-365.68 1860.94,-365.68"/>
<polygon fill="none" stroke="#29235c" points="1860.94,-365.68 1860.94,-425.68 2344.94,-425.68 2344.94,-365.68 1860.94,-365.68"/>
<text text-anchor="start" x="2010.49" y="-386.88" 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="1860.94,-305.68 1860.94,-365.68 2344.94,-365.68 2344.94,-305.68 1860.94,-305.68"/>
<polygon fill="none" stroke="#29235c" points="1860.94,-305.68 1860.94,-365.68 2344.94,-365.68 2344.94,-305.68 1860.94,-305.68"/>
<text text-anchor="start" x="1982.05" y="-326.88" 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="1860.94,-245.68 1860.94,-305.68 2344.94,-305.68 2344.94,-245.68 1860.94,-245.68"/>
<polygon fill="none" stroke="#29235c" points="1860.94,-245.68 1860.94,-305.68 2344.94,-305.68 2344.94,-245.68 1860.94,-245.68"/>
<text text-anchor="start" x="1982.94" y="-266.88" 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="1859.94,-244.68 1859.94,-486.68 2345.94,-486.68 2345.94,-244.68 1859.94,-244.68"/>
</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="2102.94" cy="-87.68" rx="200.22" ry="87.86"/>
<polygon fill="#1d71b8" stroke="transparent" points="1963.94,-87.68 1963.94,-147.68 2242.94,-147.68 2242.94,-87.68 1963.94,-87.68"/>
<polygon fill="none" stroke="#29235c" points="1963.94,-87.68 1963.94,-147.68 2242.94,-147.68 2242.94,-87.68 1963.94,-87.68"/>
<text text-anchor="start" x="1974.49" y="-108.88" 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="1963.94,-27.68 1963.94,-87.68 2242.94,-87.68 2242.94,-27.68 1963.94,-27.68"/>
<polygon fill="none" stroke="#29235c" points="1963.94,-27.68 1963.94,-87.68 2242.94,-87.68 2242.94,-27.68 1963.94,-27.68"/>
<text text-anchor="start" x="1974.94" y="-48.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">id</text>
<text text-anchor="start" x="1999.83" y="-48.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> &#160;&#160;&#160;</text>
<text text-anchor="start" x="2171.47" y="-48.88" 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="1962.44,-26.68 1962.44,-148.68 2243.44,-148.68 2243.44,-26.68 1962.44,-26.68"/>
</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="2102.94" cy="-2982.68" rx="220.73" ry="87.86"/>
<polygon fill="#1d71b8" stroke="transparent" points="1948.94,-2982.68 1948.94,-3042.68 2256.94,-3042.68 2256.94,-2982.68 1948.94,-2982.68"/>
<polygon fill="none" stroke="#29235c" points="1948.94,-2982.68 1948.94,-3042.68 2256.94,-3042.68 2256.94,-2982.68 1948.94,-2982.68"/>
<text text-anchor="start" x="1959.78" y="-3003.88" 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="1948.94,-2922.68 1948.94,-2982.68 2256.94,-2982.68 2256.94,-2922.68 1948.94,-2922.68"/>
<polygon fill="none" stroke="#29235c" points="1948.94,-2922.68 1948.94,-2982.68 2256.94,-2982.68 2256.94,-2922.68 1948.94,-2922.68"/>
<text text-anchor="start" x="1959.94" y="-2943.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">id</text>
<text text-anchor="start" x="1984.83" y="-2943.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> &#160;&#160;&#160;</text>
<text text-anchor="start" x="2185.47" y="-2943.88" 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="1947.94,-2921.68 1947.94,-3043.68 2257.94,-3043.68 2257.94,-2921.68 1947.94,-2921.68"/>
</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 / ex_snapshot_item ссылаются сюда FK">
<ellipse fill="none" stroke="black" stroke-width="0" cx="3048.28" cy="-4728.68" rx="340.65" ry="554.24"/>
<polygon fill="#1d71b8" stroke="transparent" points="2809.28,-5058.68 2809.28,-5118.68 3287.28,-5118.68 3287.28,-5058.68 2809.28,-5058.68"/>
<polygon fill="none" stroke="#29235c" points="2809.28,-5058.68 2809.28,-5118.68 3287.28,-5118.68 3287.28,-5058.68 2809.28,-5058.68"/>
<text text-anchor="start" x="2917.56" y="-5079.88" 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="2809.28,-4998.68 2809.28,-5058.68 3287.28,-5058.68 3287.28,-4998.68 2809.28,-4998.68"/>
<polygon fill="none" stroke="#29235c" points="2809.28,-4998.68 2809.28,-5058.68 3287.28,-5058.68 3287.28,-4998.68 2809.28,-4998.68"/>
<text text-anchor="start" x="2820.28" y="-5019.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">id</text>
<text text-anchor="start" x="2845.17" y="-5019.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> &#160;&#160;&#160;</text>
<text text-anchor="start" x="3215.81" y="-5019.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2809.28,-4938.68 2809.28,-4998.68 3287.28,-4998.68 3287.28,-4938.68 2809.28,-4938.68"/>
<polygon fill="none" stroke="#29235c" points="2809.28,-4938.68 2809.28,-4998.68 3287.28,-4998.68 3287.28,-4938.68 2809.28,-4938.68"/>
<text text-anchor="start" x="2819.8" y="-4958.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">bucket_role &#160;&#160;&#160;</text>
<text text-anchor="start" x="3020.25" y="-4959.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">s3_bucket_role</text>
<text text-anchor="start" x="3237.21" y="-4959.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="3246.1" y="-4959.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2809.28,-4878.68 2809.28,-4938.68 3287.28,-4938.68 3287.28,-4878.68 2809.28,-4878.68"/>
<polygon fill="none" stroke="#29235c" points="2809.28,-4878.68 2809.28,-4938.68 3287.28,-4938.68 3287.28,-4878.68 2809.28,-4878.68"/>
<text text-anchor="start" x="2820.28" y="-4898.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">bucket &#160;&#160;&#160;</text>
<text text-anchor="start" x="3130.51" y="-4899.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<text text-anchor="start" x="3237.18" y="-4899.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="3246.08" y="-4899.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2809.28,-4818.68 2809.28,-4878.68 3287.28,-4878.68 3287.28,-4818.68 2809.28,-4818.68"/>
<polygon fill="none" stroke="#29235c" points="2809.28,-4818.68 2809.28,-4878.68 3287.28,-4878.68 3287.28,-4818.68 2809.28,-4818.68"/>
<text text-anchor="start" x="2820.28" y="-4838.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">key &#160;&#160;&#160;</text>
<text text-anchor="start" x="3130.51" y="-4839.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<text text-anchor="start" x="3237.18" y="-4839.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="3246.08" y="-4839.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2809.28,-4758.68 2809.28,-4818.68 3287.28,-4818.68 3287.28,-4758.68 2809.28,-4758.68"/>
<polygon fill="none" stroke="#29235c" points="2809.28,-4758.68 2809.28,-4818.68 3287.28,-4818.68 3287.28,-4758.68 2809.28,-4758.68"/>
<text text-anchor="start" x="2820.28" y="-4778.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">content_type &#160;&#160;&#160;</text>
<text text-anchor="start" x="3169.6" y="-4779.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2809.28,-4698.68 2809.28,-4758.68 3287.28,-4758.68 3287.28,-4698.68 2809.28,-4698.68"/>
<polygon fill="none" stroke="#29235c" points="2809.28,-4698.68 2809.28,-4758.68 3287.28,-4758.68 3287.28,-4698.68 2809.28,-4698.68"/>
<text text-anchor="start" x="2820.28" y="-4718.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">size_bytes &#160;&#160;&#160;</text>
<text text-anchor="start" x="3199.81" y="-4719.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">bigint</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2809.28,-4638.68 2809.28,-4698.68 3287.28,-4698.68 3287.28,-4638.68 2809.28,-4638.68"/>
<polygon fill="none" stroke="#29235c" points="2809.28,-4638.68 2809.28,-4698.68 3287.28,-4698.68 3287.28,-4638.68 2809.28,-4638.68"/>
<text text-anchor="start" x="2820.28" y="-4658.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">sha256 &#160;&#160;&#160;</text>
<text text-anchor="start" x="3169.6" y="-4659.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2809.28,-4578.68 2809.28,-4638.68 3287.28,-4638.68 3287.28,-4578.68 2809.28,-4578.68"/>
<polygon fill="none" stroke="#29235c" points="2809.28,-4578.68 2809.28,-4638.68 3287.28,-4638.68 3287.28,-4578.68 2809.28,-4578.68"/>
<text text-anchor="start" x="2820.28" y="-4598.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">version_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="3169.6" y="-4599.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2809.28,-4518.68 2809.28,-4578.68 3287.28,-4578.68 3287.28,-4518.68 2809.28,-4518.68"/>
<polygon fill="none" stroke="#29235c" points="2809.28,-4518.68 2809.28,-4578.68 3287.28,-4578.68 3287.28,-4518.68 2809.28,-4518.68"/>
<text text-anchor="start" x="2820.28" y="-4538.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">created_by &#160;&#160;&#160;</text>
<text text-anchor="start" x="3169.6" y="-4539.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2809.28,-4458.68 2809.28,-4518.68 3287.28,-4518.68 3287.28,-4458.68 2809.28,-4458.68"/>
<polygon fill="none" stroke="#29235c" points="2809.28,-4458.68 2809.28,-4518.68 3287.28,-4518.68 3287.28,-4458.68 2809.28,-4458.68"/>
<text text-anchor="start" x="2820.28" y="-4478.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">created_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="3064.73" y="-4479.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<text text-anchor="start" x="3237.18" y="-4479.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="3246.08" y="-4479.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2809.28,-4398.68 2809.28,-4458.68 3287.28,-4458.68 3287.28,-4398.68 2809.28,-4398.68"/>
<polygon fill="none" stroke="#29235c" points="2809.28,-4398.68 2809.28,-4458.68 3287.28,-4458.68 3287.28,-4398.68 2809.28,-4398.68"/>
<text text-anchor="start" x="2820.28" y="-4418.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">expires_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="3103.82" y="-4419.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2809.28,-4338.68 2809.28,-4398.68 3287.28,-4398.68 3287.28,-4338.68 2809.28,-4338.68"/>
<polygon fill="none" stroke="#29235c" points="2809.28,-4338.68 2809.28,-4398.68 3287.28,-4398.68 3287.28,-4338.68 2809.28,-4338.68"/>
<text text-anchor="start" x="2820.28" y="-4358.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">archived_to &#160;&#160;&#160;</text>
<text text-anchor="start" x="3169.6" y="-4359.88" 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="2808.28,-4337.68 2808.28,-5119.68 3288.28,-5119.68 3288.28,-4337.68 2808.28,-4337.68"/>
</a>
</g>
</g>
<!-- s3_object&#45;&gt;s3_bucket_role -->
<g id="edge19" class="edge">
<title>s3_object:e&#45;&gt;s3_bucket_role:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M3288.28,-4968.68C3383.54,-4968.68 3407.35,-4968.68 3502.61,-4968.68"/>
</g>
<!-- stored_file -->
<g id="stored_file" class="node">
<title>stored_file</title>
<g id="a_stored_file"><a xlink:title="stored_file&#10;Загруженный файл (S3 — только ссылка). Первичка не редактируется; исправления — в распознанных данных. Удаление физическое запрещено после INITIATED — только SUPERSEDED (ANL&#45;020)">
<ellipse fill="none" stroke="black" stroke-width="0" cx="1019.71" cy="-2262.68" rx="478.92" ry="1105.83"/>
<polygon fill="#1d71b8" stroke="transparent" points="683.71,-2982.68 683.71,-3042.68 1356.71,-3042.68 1356.71,-2982.68 683.71,-2982.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-2982.68 683.71,-3042.68 1356.71,-3042.68 1356.71,-2982.68 683.71,-2982.68"/>
<text text-anchor="start" x="884.17" y="-3003.88" 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="683.71,-2922.68 683.71,-2982.68 1356.71,-2982.68 1356.71,-2922.68 683.71,-2922.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-2922.68 683.71,-2982.68 1356.71,-2982.68 1356.71,-2922.68 683.71,-2922.68"/>
<text text-anchor="start" x="694.71" y="-2943.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">id</text>
<text text-anchor="start" x="719.6" y="-2943.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> &#160;&#160;&#160;</text>
<text text-anchor="start" x="1285.24" y="-2943.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-2862.68 683.71,-2922.68 1356.71,-2922.68 1356.71,-2862.68 683.71,-2862.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-2862.68 683.71,-2922.68 1356.71,-2922.68 1356.71,-2862.68 683.71,-2862.68"/>
<text text-anchor="start" x="694.71" y="-2882.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">legal_entity_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="1246.15" y="-2883.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<text text-anchor="start" x="1306.62" y="-2883.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="1315.51" y="-2883.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-2802.68 683.71,-2862.68 1356.71,-2862.68 1356.71,-2802.68 683.71,-2802.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-2802.68 683.71,-2862.68 1356.71,-2862.68 1356.71,-2802.68 683.71,-2802.68"/>
<text text-anchor="start" x="694.71" y="-2822.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">document_type &#160;&#160;&#160;</text>
<text text-anchor="start" x="1087.87" y="-2823.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">document_type</text>
<text text-anchor="start" x="1306.62" y="-2823.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="1315.51" y="-2823.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-2742.68 683.71,-2802.68 1356.71,-2802.68 1356.71,-2742.68 683.71,-2742.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-2742.68 683.71,-2802.68 1356.71,-2802.68 1356.71,-2742.68 683.71,-2742.68"/>
<text text-anchor="start" x="694.71" y="-2762.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">osv_account_code &#160;&#160;&#160;</text>
<text text-anchor="start" x="1239.04" y="-2763.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-2682.68 683.71,-2742.68 1356.71,-2742.68 1356.71,-2682.68 683.71,-2682.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-2682.68 683.71,-2742.68 1356.71,-2742.68 1356.71,-2682.68 683.71,-2682.68"/>
<text text-anchor="start" x="694.71" y="-2702.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">file_type &#160;&#160;&#160;</text>
<text text-anchor="start" x="1187.48" y="-2703.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">file_type</text>
<text text-anchor="start" x="1306.62" y="-2703.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="1315.51" y="-2703.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-2622.68 683.71,-2682.68 1356.71,-2682.68 1356.71,-2622.68 683.71,-2622.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-2622.68 683.71,-2682.68 1356.71,-2682.68 1356.71,-2622.68 683.71,-2622.68"/>
<text text-anchor="start" x="694.71" y="-2642.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">original_name &#160;&#160;&#160;</text>
<text text-anchor="start" x="1239.04" y="-2643.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-2562.68 683.71,-2622.68 1356.71,-2622.68 1356.71,-2562.68 683.71,-2562.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-2562.68 683.71,-2622.68 1356.71,-2622.68 1356.71,-2562.68 683.71,-2562.68"/>
<text text-anchor="start" x="694.71" y="-2582.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">s3_object_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="1246.15" y="-2583.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<text text-anchor="start" x="1306.62" y="-2583.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="1315.51" y="-2583.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-2502.68 683.71,-2562.68 1356.71,-2562.68 1356.71,-2502.68 683.71,-2502.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-2502.68 683.71,-2562.68 1356.71,-2562.68 1356.71,-2502.68 683.71,-2502.68"/>
<text text-anchor="start" x="694.71" y="-2522.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">content_hash &#160;&#160;&#160;</text>
<text text-anchor="start" x="1239.04" y="-2523.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-2442.68 683.71,-2502.68 1356.71,-2502.68 1356.71,-2442.68 683.71,-2442.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-2442.68 683.71,-2502.68 1356.71,-2502.68 1356.71,-2442.68 683.71,-2442.68"/>
<text text-anchor="start" x="694.71" y="-2462.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">size_bytes &#160;&#160;&#160;</text>
<text text-anchor="start" x="1269.25" y="-2463.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">bigint</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-2382.68 683.71,-2442.68 1356.71,-2442.68 1356.71,-2382.68 683.71,-2382.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-2382.68 683.71,-2442.68 1356.71,-2442.68 1356.71,-2382.68 683.71,-2382.68"/>
<text text-anchor="start" x="694.71" y="-2402.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">period_year &#160;&#160;&#160;</text>
<text text-anchor="start" x="1237.29" y="-2403.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">smallint</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-2322.68 683.71,-2382.68 1356.71,-2382.68 1356.71,-2322.68 683.71,-2322.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-2322.68 683.71,-2382.68 1356.71,-2382.68 1356.71,-2322.68 683.71,-2322.68"/>
<text text-anchor="start" x="694.71" y="-2342.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">period_quarter &#160;&#160;&#160;</text>
<text text-anchor="start" x="1137.66" y="-2343.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">period_quarter</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-2262.68 683.71,-2322.68 1356.71,-2322.68 1356.71,-2262.68 683.71,-2262.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-2262.68 683.71,-2322.68 1356.71,-2322.68 1356.71,-2262.68 683.71,-2262.68"/>
<text text-anchor="start" x="694.71" y="-2282.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">is_cumulative &#160;&#160;&#160;</text>
<text text-anchor="start" x="1231.88" y="-2283.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">boolean</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-2202.68 683.71,-2262.68 1356.71,-2262.68 1356.71,-2202.68 683.71,-2202.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-2202.68 683.71,-2262.68 1356.71,-2262.68 1356.71,-2202.68 683.71,-2202.68"/>
<text text-anchor="start" x="694.71" y="-2222.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">reporting_date &#160;&#160;&#160;</text>
<text text-anchor="start" x="1283.45" y="-2223.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">date</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-2142.68 683.71,-2202.68 1356.71,-2202.68 1356.71,-2142.68 683.71,-2142.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-2142.68 683.71,-2202.68 1356.71,-2202.68 1356.71,-2142.68 683.71,-2142.68"/>
<text text-anchor="start" x="694.71" y="-2162.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">status &#160;&#160;&#160;</text>
<text text-anchor="start" x="1162.58" y="-2163.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">file_status</text>
<text text-anchor="start" x="1306.62" y="-2163.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="1315.51" y="-2163.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-2082.68 683.71,-2142.68 1356.71,-2142.68 1356.71,-2082.68 683.71,-2082.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-2082.68 683.71,-2142.68 1356.71,-2142.68 1356.71,-2082.68 683.71,-2082.68"/>
<text text-anchor="start" x="694.71" y="-2102.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">period_check &#160;&#160;&#160;</text>
<text text-anchor="start" x="1007.84" y="-2103.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">document_check_result</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-2022.68 683.71,-2082.68 1356.71,-2082.68 1356.71,-2022.68 683.71,-2022.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-2022.68 683.71,-2082.68 1356.71,-2082.68 1356.71,-2022.68 683.71,-2022.68"/>
<text text-anchor="start" x="694.33" y="-2042.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">counterparty_check &#160;&#160;&#160;</text>
<text text-anchor="start" x="1008.28" y="-2043.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">document_check_result</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-1962.68 683.71,-2022.68 1356.71,-2022.68 1356.71,-1962.68 683.71,-1962.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-1962.68 683.71,-2022.68 1356.71,-2022.68 1356.71,-1962.68 683.71,-1962.68"/>
<text text-anchor="start" x="694.71" y="-1982.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">version_no &#160;&#160;&#160;</text>
<text text-anchor="start" x="1272.84" y="-1983.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">int</text>
<text text-anchor="start" x="1306.62" y="-1983.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="1315.51" y="-1983.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-1902.68 683.71,-1962.68 1356.71,-1962.68 1356.71,-1902.68 683.71,-1902.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-1902.68 683.71,-1962.68 1356.71,-1962.68 1356.71,-1902.68 683.71,-1902.68"/>
<text text-anchor="start" x="694.71" y="-1922.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">superseded_by_file_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="1285.24" y="-1923.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-1842.68 683.71,-1902.68 1356.71,-1902.68 1356.71,-1842.68 683.71,-1842.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-1842.68 683.71,-1902.68 1356.71,-1902.68 1356.71,-1842.68 683.71,-1842.68"/>
<text text-anchor="start" x="694.71" y="-1862.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">current_recognition_job_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="1285.24" y="-1863.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-1782.68 683.71,-1842.68 1356.71,-1842.68 1356.71,-1782.68 683.71,-1782.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-1782.68 683.71,-1842.68 1356.71,-1842.68 1356.71,-1782.68 683.71,-1782.68"/>
<text text-anchor="start" x="694.71" y="-1802.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">uploaded_by &#160;&#160;&#160;</text>
<text text-anchor="start" x="1285.24" y="-1803.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-1722.68 683.71,-1782.68 1356.71,-1782.68 1356.71,-1722.68 683.71,-1722.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-1722.68 683.71,-1782.68 1356.71,-1782.68 1356.71,-1722.68 683.71,-1722.68"/>
<text text-anchor="start" x="694.71" y="-1742.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">uploaded_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="1173.26" y="-1743.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-1662.68 683.71,-1722.68 1356.71,-1722.68 1356.71,-1662.68 683.71,-1662.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-1662.68 683.71,-1722.68 1356.71,-1722.68 1356.71,-1662.68 683.71,-1662.68"/>
<text text-anchor="start" x="694.71" y="-1682.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">confirmed_by &#160;&#160;&#160;</text>
<text text-anchor="start" x="1285.24" y="-1683.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-1602.68 683.71,-1662.68 1356.71,-1662.68 1356.71,-1602.68 683.71,-1602.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-1602.68 683.71,-1662.68 1356.71,-1662.68 1356.71,-1602.68 683.71,-1602.68"/>
<text text-anchor="start" x="694.71" y="-1622.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">confirmed_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="1173.26" y="-1623.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-1542.68 683.71,-1602.68 1356.71,-1602.68 1356.71,-1542.68 683.71,-1542.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-1542.68 683.71,-1602.68 1356.71,-1602.68 1356.71,-1542.68 683.71,-1542.68"/>
<text text-anchor="start" x="694.71" y="-1562.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">fields_modified &#160;&#160;&#160;</text>
<text text-anchor="start" x="1311.93" y="-1563.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">int</text>
<polygon fill="#e7e2dd" stroke="transparent" points="683.71,-1482.68 683.71,-1542.68 1356.71,-1542.68 1356.71,-1482.68 683.71,-1482.68"/>
<polygon fill="none" stroke="#29235c" points="683.71,-1482.68 683.71,-1542.68 1356.71,-1542.68 1356.71,-1482.68 683.71,-1482.68"/>
<text text-anchor="start" x="694.71" y="-1502.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">updated_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="1173.26" y="-1503.88" 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="682.21,-1481.68 682.21,-3043.68 1357.21,-3043.68 1357.21,-1481.68 682.21,-1481.68"/>
</a>
</g>
</g>
<!-- stored_file&#45;&gt;document_type -->
<g id="edge20" class="edge">
<title>stored_file:e&#45;&gt;document_type:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1357.71,-2832.68C1513.24,-2832.68 1546.41,-2769.68 1701.94,-2769.68"/>
</g>
<!-- stored_file&#45;&gt;file_type -->
<g id="edge21" class="edge">
<title>stored_file:e&#45;&gt;file_type:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1357.71,-2712.68C1535.55,-2712.68 1400.05,-2470.18 1534.42,-2353.68 1688.25,-2220.31 1766.35,-2211.68 1969.94,-2211.68"/>
</g>
<!-- stored_file&#45;&gt;period_quarter -->
<g id="edge22" class="edge">
<title>stored_file:e&#45;&gt;period_quarter:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1357.71,-2352.68C1693.69,-2352.68 1301.2,-1859.52 1534.42,-1617.68 1659.51,-1487.98 1744.74,-1508.68 1924.94,-1508.68"/>
</g>
<!-- stored_file&#45;&gt;file_status -->
<g id="edge23" class="edge">
<title>stored_file:e&#45;&gt;file_status:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1357.71,-2172.68C1585.13,-2172.68 1385.03,-1336.14 1534.42,-1164.68 1657.55,-1023.36 1748.5,-1035.68 1935.94,-1035.68"/>
</g>
<!-- stored_file&#45;&gt;document_check_result -->
<g id="edge24" class="edge">
<title>stored_file:e&#45;&gt;document_check_result:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1357.71,-2112.68C1707.92,-2112.68 1307.4,-813.34 1534.42,-546.68 1631.8,-432.3 1709.72,-455.68 1859.94,-455.68"/>
</g>
<!-- stored_file&#45;&gt;document_check_result -->
<g id="edge25" class="edge">
<title>stored_file:e&#45;&gt;document_check_result:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1357.71,-2052.68C1694.67,-2052.68 1315.42,-802.77 1534.42,-546.68 1632.06,-432.52 1709.72,-455.68 1859.94,-455.68"/>
</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="M1357.71,-1812.68C1721.83,-1812.68 1300.84,-463.01 1534.42,-183.68 1659.59,-34 1760.91,-56.83 1952.84,-57.66"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1952.93,-61.16 1962.94,-57.68 1952.94,-54.16 1952.93,-61.16"/>
<text text-anchor="middle" x="1954.04" y="-28.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="1351.49" y="-1783.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- stored_file&#45;&gt;app_user -->
<!-- stored_file&#45;&gt;app_user -->
<g id="edge12" class="edge">
<title>stored_file:e&#45;&gt;app_user:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1357.71,-1692.68C1695.34,-1692.68 1316.74,-441.76 1534.42,-183.68 1660.23,-34.53 1760.93,-56.85 1952.84,-57.66"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1952.93,-61.16 1962.94,-57.68 1952.94,-54.16 1952.93,-61.16"/>
<text text-anchor="middle" x="1954.04" y="-67.28" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="1351.49" y="-1663.88" 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="M1357.71,-2892.68C1617.91,-2892.68 1682.57,-2951.11 1937.61,-2952.65"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1937.93,-2956.15 1947.94,-2952.68 1937.95,-2949.15 1937.93,-2956.15"/>
<text text-anchor="middle" x="1939.04" y="-2923.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="1351.49" y="-2863.88" 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="M1357.71,-2592.68C1783.68,-2592.68 1206.62,-1922.71 1534.42,-1650.68 1583.03,-1610.34 2626.47,-1606.34 2671.45,-1650.68 2721.21,-1699.73 2702.89,-4095.96 2707.45,-4165.68 2719.82,-4354.87 2618.94,-5004.62 2798.1,-5028.03"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="2798.07,-5031.54 2808.28,-5028.68 2798.52,-5024.55 2798.07,-5031.54"/>
<text text-anchor="middle" x="2817.17" y="-5038.28" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="1351.49" y="-2563.88" 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="M1356.71,-1932.68C1627.21,-2307.32 1627.21,-3386.6 1020.21,-3386.6 417.66,-3386.6 413.24,-3328.18 677.81,-2960.86"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="680.7,-2962.84 683.71,-2952.68 675.02,-2958.74 680.7,-2962.84"/>
<text text-anchor="middle" x="674.82" y="-2923.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="1350.49" y="-1903.88" 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 в osv_entry / financial_statement_*">
<ellipse fill="none" stroke="black" stroke-width="0" cx="2102.94" cy="-4278.68" rx="350.95" ry="1190.54"/>
<polygon fill="#1d71b8" stroke="transparent" points="1856.94,-5058.68 1856.94,-5118.68 2348.94,-5118.68 2348.94,-5058.68 1856.94,-5058.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-5058.68 1856.94,-5118.68 2348.94,-5118.68 2348.94,-5058.68 1856.94,-5058.68"/>
<text text-anchor="start" x="1932.21" y="-5079.88" 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="1856.94,-4998.68 1856.94,-5058.68 2348.94,-5058.68 2348.94,-4998.68 1856.94,-4998.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-4998.68 1856.94,-5058.68 2348.94,-5058.68 2348.94,-4998.68 1856.94,-4998.68"/>
<text text-anchor="start" x="1867.94" y="-5019.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">id</text>
<text text-anchor="start" x="1892.83" y="-5019.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> &#160;&#160;&#160;</text>
<text text-anchor="start" x="2277.47" y="-5019.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-4938.68 1856.94,-4998.68 2348.94,-4998.68 2348.94,-4938.68 1856.94,-4938.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-4938.68 1856.94,-4998.68 2348.94,-4998.68 2348.94,-4938.68 1856.94,-4938.68"/>
<text text-anchor="start" x="1867.94" y="-4958.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">file_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="2238.38" y="-4959.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<text text-anchor="start" x="2298.85" y="-4959.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="2307.74" y="-4959.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-4878.68 1856.94,-4938.68 2348.94,-4938.68 2348.94,-4878.68 1856.94,-4878.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-4878.68 1856.94,-4938.68 2348.94,-4938.68 2348.94,-4878.68 1856.94,-4878.68"/>
<text text-anchor="start" x="1867.94" y="-4898.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">pipeline &#160;&#160;&#160;</text>
<text text-anchor="start" x="2014.33" y="-4899.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">recognition_pipeline</text>
<text text-anchor="start" x="2298.85" y="-4899.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="2307.74" y="-4899.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-4818.68 1856.94,-4878.68 2348.94,-4878.68 2348.94,-4818.68 1856.94,-4818.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-4818.68 1856.94,-4878.68 2348.94,-4878.68 2348.94,-4818.68 1856.94,-4818.68"/>
<text text-anchor="start" x="1867.94" y="-4838.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">request_subject &#160;&#160;&#160;</text>
<text text-anchor="start" x="2192.17" y="-4839.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<text text-anchor="start" x="2298.85" y="-4839.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="2307.74" y="-4839.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-4758.68 1856.94,-4818.68 2348.94,-4818.68 2348.94,-4758.68 1856.94,-4758.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-4758.68 1856.94,-4818.68 2348.94,-4818.68 2348.94,-4758.68 1856.94,-4758.68"/>
<text text-anchor="start" x="1867.94" y="-4778.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">request_msg_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="2231.26" y="-4779.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-4698.68 1856.94,-4758.68 2348.94,-4758.68 2348.94,-4698.68 1856.94,-4698.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-4698.68 1856.94,-4758.68 2348.94,-4758.68 2348.94,-4698.68 1856.94,-4698.68"/>
<text text-anchor="start" x="1867.94" y="-4718.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">result_msg_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="2231.26" y="-4719.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-4638.68 1856.94,-4698.68 2348.94,-4698.68 2348.94,-4638.68 1856.94,-4638.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-4638.68 1856.94,-4698.68 2348.94,-4698.68 2348.94,-4638.68 1856.94,-4638.68"/>
<text text-anchor="start" x="1867.94" y="-4658.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">schema_version &#160;&#160;&#160;</text>
<text text-anchor="start" x="2192.17" y="-4659.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<text text-anchor="start" x="2298.85" y="-4659.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="2307.74" y="-4659.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-4578.68 1856.94,-4638.68 2348.94,-4638.68 2348.94,-4578.68 1856.94,-4578.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-4578.68 1856.94,-4638.68 2348.94,-4638.68 2348.94,-4578.68 1856.94,-4578.68"/>
<text text-anchor="start" x="1867.94" y="-4598.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">service_name &#160;&#160;&#160;</text>
<text text-anchor="start" x="2231.26" y="-4599.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-4518.68 1856.94,-4578.68 2348.94,-4578.68 2348.94,-4518.68 1856.94,-4518.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-4518.68 1856.94,-4578.68 2348.94,-4578.68 2348.94,-4518.68 1856.94,-4518.68"/>
<text text-anchor="start" x="1867.94" y="-4538.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">service_version &#160;&#160;&#160;</text>
<text text-anchor="start" x="2231.26" y="-4539.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-4458.68 1856.94,-4518.68 2348.94,-4518.68 2348.94,-4458.68 1856.94,-4458.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-4458.68 1856.94,-4518.68 2348.94,-4518.68 2348.94,-4458.68 1856.94,-4458.68"/>
<text text-anchor="start" x="1867.94" y="-4478.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">status &#160;&#160;&#160;</text>
<text text-anchor="start" x="2039.21" y="-4479.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">recognition_status</text>
<text text-anchor="start" x="2298.85" y="-4479.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="2307.74" y="-4479.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-4398.68 1856.94,-4458.68 2348.94,-4458.68 2348.94,-4398.68 1856.94,-4398.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-4398.68 1856.94,-4458.68 2348.94,-4458.68 2348.94,-4398.68 1856.94,-4398.68"/>
<text text-anchor="start" x="1867.94" y="-4418.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">attempt &#160;&#160;&#160;</text>
<text text-anchor="start" x="2190.42" y="-4419.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">smallint</text>
<text text-anchor="start" x="2298.85" y="-4419.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="2307.74" y="-4419.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-4338.68 1856.94,-4398.68 2348.94,-4398.68 2348.94,-4338.68 1856.94,-4338.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-4338.68 1856.94,-4398.68 2348.94,-4398.68 2348.94,-4338.68 1856.94,-4338.68"/>
<text text-anchor="start" x="1867.94" y="-4358.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">max_attempts &#160;&#160;&#160;</text>
<text text-anchor="start" x="2190.42" y="-4359.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">smallint</text>
<text text-anchor="start" x="2298.85" y="-4359.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="2307.74" y="-4359.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-4278.68 1856.94,-4338.68 2348.94,-4338.68 2348.94,-4278.68 1856.94,-4278.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-4278.68 1856.94,-4338.68 2348.94,-4338.68 2348.94,-4278.68 1856.94,-4278.68"/>
<text text-anchor="start" x="1867.94" y="-4298.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">requested_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="2165.49" y="-4299.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-4218.68 1856.94,-4278.68 2348.94,-4278.68 2348.94,-4218.68 1856.94,-4218.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-4218.68 1856.94,-4278.68 2348.94,-4278.68 2348.94,-4218.68 1856.94,-4218.68"/>
<text text-anchor="start" x="1867.94" y="-4238.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">published_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="2165.49" y="-4239.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-4158.68 1856.94,-4218.68 2348.94,-4218.68 2348.94,-4158.68 1856.94,-4158.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-4158.68 1856.94,-4218.68 2348.94,-4218.68 2348.94,-4158.68 1856.94,-4158.68"/>
<text text-anchor="start" x="1867.94" y="-4178.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">started_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="2165.49" y="-4179.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-4098.68 1856.94,-4158.68 2348.94,-4158.68 2348.94,-4098.68 1856.94,-4098.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-4098.68 1856.94,-4158.68 2348.94,-4158.68 2348.94,-4098.68 1856.94,-4098.68"/>
<text text-anchor="start" x="1867.94" y="-4118.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">finished_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="2165.49" y="-4119.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-4038.68 1856.94,-4098.68 2348.94,-4098.68 2348.94,-4038.68 1856.94,-4038.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-4038.68 1856.94,-4098.68 2348.94,-4098.68 2348.94,-4038.68 1856.94,-4038.68"/>
<text text-anchor="start" x="1867.94" y="-4058.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">reply_deadline &#160;&#160;&#160;</text>
<text text-anchor="start" x="2165.49" y="-4059.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-3978.68 1856.94,-4038.68 2348.94,-4038.68 2348.94,-3978.68 1856.94,-3978.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-3978.68 1856.94,-4038.68 2348.94,-4038.68 2348.94,-3978.68 1856.94,-3978.68"/>
<text text-anchor="start" x="1867.94" y="-3998.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">external_task_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="2231.26" y="-3999.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-3918.68 1856.94,-3978.68 2348.94,-3978.68 2348.94,-3918.68 1856.94,-3918.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-3918.68 1856.94,-3978.68 2348.94,-3978.68 2348.94,-3918.68 1856.94,-3918.68"/>
<text text-anchor="start" x="1867.94" y="-3938.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">error_code &#160;&#160;&#160;</text>
<text text-anchor="start" x="2231.26" y="-3939.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-3858.68 1856.94,-3918.68 2348.94,-3918.68 2348.94,-3858.68 1856.94,-3858.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-3858.68 1856.94,-3918.68 2348.94,-3918.68 2348.94,-3858.68 1856.94,-3858.68"/>
<text text-anchor="start" x="1867.94" y="-3878.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">error_message &#160;&#160;&#160;</text>
<text text-anchor="start" x="2286.36" y="-3879.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">text</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-3798.68 1856.94,-3858.68 2348.94,-3858.68 2348.94,-3798.68 1856.94,-3798.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-3798.68 1856.94,-3858.68 2348.94,-3858.68 2348.94,-3798.68 1856.94,-3798.68"/>
<text text-anchor="start" x="1867.94" y="-3818.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">result_s3_object_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="2277.47" y="-3819.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-3738.68 1856.94,-3798.68 2348.94,-3798.68 2348.94,-3738.68 1856.94,-3738.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-3738.68 1856.94,-3798.68 2348.94,-3798.68 2348.94,-3738.68 1856.94,-3738.68"/>
<text text-anchor="start" x="1867.94" y="-3758.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">raw_result_s3_object_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="2277.47" y="-3759.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-3678.68 1856.94,-3738.68 2348.94,-3738.68 2348.94,-3678.68 1856.94,-3678.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-3678.68 1856.94,-3738.68 2348.94,-3738.68 2348.94,-3678.68 1856.94,-3678.68"/>
<text text-anchor="start" x="1867.68" y="-3698.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">result_schema_version &#160;&#160;&#160;</text>
<text text-anchor="start" x="2231.6" y="-3699.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-3618.68 1856.94,-3678.68 2348.94,-3678.68 2348.94,-3618.68 1856.94,-3618.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-3618.68 1856.94,-3678.68 2348.94,-3678.68 2348.94,-3618.68 1856.94,-3618.68"/>
<text text-anchor="start" x="1867.94" y="-3638.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">metrics &#160;&#160;&#160;</text>
<text text-anchor="start" x="2261.47" y="-3639.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">jsonb</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-3558.68 1856.94,-3618.68 2348.94,-3618.68 2348.94,-3558.68 1856.94,-3558.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-3558.68 1856.94,-3618.68 2348.94,-3618.68 2348.94,-3558.68 1856.94,-3558.68"/>
<text text-anchor="start" x="1867.94" y="-3578.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">fields_total &#160;&#160;&#160;</text>
<text text-anchor="start" x="2304.15" y="-3579.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">int</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-3498.68 1856.94,-3558.68 2348.94,-3558.68 2348.94,-3498.68 1856.94,-3498.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-3498.68 1856.94,-3558.68 2348.94,-3558.68 2348.94,-3498.68 1856.94,-3498.68"/>
<text text-anchor="start" x="1867.94" y="-3518.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">fields_low_confidence &#160;&#160;&#160;</text>
<text text-anchor="start" x="2304.15" y="-3519.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">int</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1856.94,-3438.68 1856.94,-3498.68 2348.94,-3498.68 2348.94,-3438.68 1856.94,-3438.68"/>
<polygon fill="none" stroke="#29235c" points="1856.94,-3438.68 1856.94,-3498.68 2348.94,-3498.68 2348.94,-3438.68 1856.94,-3438.68"/>
<text text-anchor="start" x="1867.94" y="-3458.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">fields_unrecognized &#160;&#160;&#160;</text>
<text text-anchor="start" x="2304.15" y="-3459.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">int</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1855.94,-3437.68 1855.94,-5119.68 2349.94,-5119.68 2349.94,-3437.68 1855.94,-3437.68"/>
</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="M1357.71,-1872.68C1628.79,-1872.68 1492.73,-2811.83 1534.42,-3079.68 1668.94,-3943.77 983.4,-5020.24 1845.72,-5028.63"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1845.92,-5032.13 1855.94,-5028.68 1845.95,-5025.13 1845.92,-5032.13"/>
<text text-anchor="middle" x="1847.04" y="-5038.28" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="1351.49" y="-1843.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- recognition_job&#45;&gt;recognition_pipeline -->
<g id="edge26" class="edge">
<title>recognition_job:e&#45;&gt;recognition_pipeline:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M2349.94,-4908.68C2685.89,-4908.68 2496.32,-5490.68 2832.28,-5490.68"/>
</g>
<!-- recognition_job&#45;&gt;recognition_status -->
<g id="edge27" class="edge">
<title>recognition_job:e&#45;&gt;recognition_status:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M2349.94,-4488.68C2655.25,-4488.68 2538.96,-4011.68 2844.28,-4011.68"/>
</g>
<!-- recognition_job&#45;&gt;s3_object -->
<!-- recognition_job&#45;&gt;s3_object -->
<g id="edge16" class="edge">
<title>recognition_job:e&#45;&gt;s3_object:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M2349.94,-3828.68C2917.36,-3828.68 2245.66,-5014.08 2797.96,-5028.55"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="2798.23,-5032.05 2808.28,-5028.68 2798.32,-5025.05 2798.23,-5032.05"/>
<text text-anchor="middle" x="2817.17" y="-4999.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="2343.71" y="-3838.28" 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="edge18" class="edge">
<title>recognition_job:e&#45;&gt;s3_object:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M2349.94,-3768.68C2942.34,-3768.68 2220.93,-5013.96 2797.94,-5028.55"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="2798.23,-5032.06 2808.28,-5028.68 2798.32,-5025.06 2798.23,-5032.06"/>
<text text-anchor="middle" x="2799.38" y="-5038.28" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="2343.71" y="-3778.28" 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="edge14" class="edge">
<title>recognition_job:e&#45;&gt;stored_file:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M2349.94,-4968.68C2461.22,-4968.68 2427.7,-5390.84 2348.94,-5469.45 2337.2,-5481.16 1766.34,-5478.12 1752.21,-5469.45 523.33,-4715.77 432.36,-3000.42 672.54,-2953.66"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="673.09,-2957.12 682.71,-2952.68 672.42,-2950.15 673.09,-2957.12"/>
<text text-anchor="middle" x="673.82" y="-2962.28" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="2343.71" y="-4978.28" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
</g>
</svg>