notebook-publish-check 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ Run `PYTHONPATH=src python3 -m unittest discover -s tests -v`. Use synthetic examples only. Include a reproducer and document changes to evaluation or detection rules.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Ryu Koda
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,3 @@
1
+ include LICENSE README.md CONTRIBUTING.md SECURITY.md
2
+ recursive-include tests *.py
3
+ recursive-include examples *.csv *.json *.ipynb *.html
@@ -0,0 +1,99 @@
1
+ Metadata-Version: 2.4
2
+ Name: notebook-publish-check
3
+ Version: 0.1.0
4
+ Summary: Review Jupyter notebooks before publication
5
+ Author: Ryu Koda
6
+ License-Expression: MIT
7
+ Project-URL: Repository, https://github.com/R-Koda/notebook-publish-check
8
+ Project-URL: Issues, https://github.com/R-Koda/notebook-publish-check/issues
9
+ Requires-Python: >=3.10
10
+ Description-Content-Type: text/markdown
11
+ License-File: LICENSE
12
+ Dynamic: license-file
13
+
14
+ # Notebook Publish Check
15
+
16
+ [![Tests](https://github.com/R-Koda/notebook-publish-check/actions/workflows/tests.yml/badge.svg)](https://github.com/R-Koda/notebook-publish-check/actions/workflows/tests.yml)
17
+ **Keep useful figures. Review risky output. Publish a separate copy.**
18
+
19
+ A dependency-free, non-executing publication review tool for Jupyter notebooks. Generate a local HTML preview, inspect cell-level findings, choose which outputs or metadata to remove, and download a separate notebook.
20
+
21
+ Notebook公開前に、セルごとの点検結果を確認し、残す図と削除する出力を選べます。元ファイルは変更しません。
22
+
23
+ ## Install from PyPI / pipでインストール
24
+
25
+ Python 3.10 or later. Create and activate a virtual environment first:
26
+
27
+ ```sh
28
+ python3 -m venv .venv
29
+ ```
30
+
31
+ macOS / Linux: `source .venv/bin/activate`
32
+
33
+ Windows PowerShell: `.venv\Scripts\Activate.ps1`
34
+
35
+ ```sh
36
+ python -m pip install notebook-publish-check
37
+ nbpublish --help
38
+ ```
39
+
40
+ The help screen confirms that the command is available. Install only the tools you need.
41
+ [PyPI package](https://pypi.org/project/notebook-publish-check/) · [Source and examples](https://github.com/R-Koda/notebook-publish-check)
42
+
43
+ サンプルCSV・Notebookなどはpipでは配置されません。公開デモはブラウザで開けます。自分でサンプルを実行する場合はGitHubの「Code → Download ZIP」で取得・展開し、READMEの相対パスをそのフォルダー内から指定してください。
44
+
45
+ ## Article & live demo / 紹介記事と公開デモ
46
+
47
+ - [個別ガイド / Notebook Publish Check:公開前に出力を選んで整理する](https://ryu-koda.com/blog/notebook-publish-check-guide/)
48
+ - [紹介記事:データを分ける・評価する・公開する。Pythonの小さな確認ツールを3つ作りました](https://ryu-koda.com/blog/python-tools-splittrace-eventscore-notebook/) — Japanese overview of SplitTrace, EventScore Explorer, and Notebook Publish Check.
49
+ - [公開デモをブラウザで開く / Open the live demo](https://ryu-koda.com/articles/python-tools/notebook-demo.html) — Synthetic data only; no installation required.
50
+
51
+ 公開デモは合成データの出力例です。自分のファイルをアップロードする画面ではありません。
52
+ The hosted demo is a sample report, not a file-upload service.
53
+
54
+ ## Try the demo
55
+
56
+ Download and open [`examples/demo.html`](https://github.com/R-Koda/notebook-publish-check/blob/main/examples/demo.html). The sample uses synthetic logs and clearly fake credentials. Keep the figure in cell 2, remove outputs in cell 3, and inspect the warning in cell 4: deleting outputs does **not** remove a credential-like value from source code.
57
+
58
+ ```sh
59
+ python3 -m venv .venv
60
+ . .venv/bin/activate
61
+ python -m pip install .
62
+ nbpublish examples/publication-demo.ipynb --output reports/review.html --json reports/findings.json
63
+ ```
64
+
65
+ Without installation: `PYTHONPATH=src python3 -m notebook_publish_check` followed by the same arguments.
66
+
67
+ Python 3.10+. No runtime dependencies.
68
+
69
+ Exit codes: **0** no selected findings; **1** findings for review (report successfully created); **2** invalid input or I/O error. No findings does not mean a notebook is safe to publish.
70
+
71
+ ## Workflow
72
+
73
+ 1. Generate the local report; code is never executed.
74
+ 2. Inspect source, text output, raster images, and findings. HTML/SVG/JavaScript outputs are shown as text, never executed.
75
+ 3. Select output or metadata removal per cell. Selecting outputs clears the entire cell output and its execution count. It does not edit individual values.
76
+ 4. Download `reviewed-copy.ipynb`; the original is unchanged. Manually edit flagged source code when necessary.
77
+ 5. Re-run the checker on the downloaded copy, then review remaining content before publishing.
78
+
79
+ ## Checks and coverage
80
+
81
+ - Credential-like assignments (`api_key`, `access_token`, `password`, `secret`) and selected token prefixes; heuristic, with false positives and false negatives.
82
+ - Selected Unix/macOS/Windows home-directory absolute paths.
83
+ - Large serialized cell outputs (100,000 UTF-8 bytes by default; change with `--max-output-kb`).
84
+ - Rich outputs and embedded attachments marked for manual review.
85
+ - Notebook/cell metadata and textual attachments inspected for the same selected patterns.
86
+
87
+ **The HTML report embeds the original notebook**, including values omitted from the findings summary. Keep reports private. JSON findings omit matched values but may include metadata key names. Images are not OCR-scanned; binary attachments, arbitrary personal information, encoded/obfuscated secrets and Git history are not comprehensively checked. Source and attachments are preserved in exported copies. Metadata removal may remove tags, kernel info or presentation settings.
88
+
89
+ This is not a replacement for [Gitleaks](https://github.com/gitleaks/gitleaks), [nbstripout](https://github.com/kynan/nbstripout) or [nbdime](https://github.com/jupyter/nbdime). The focus is a publication review workflow with selective output retention.
90
+
91
+ ## Python API and development
92
+
93
+ `scan(notebook)` returns cell-indexed findings (indices are zero-based). `sanitize(notebook, remove_outputs=[2], remove_metadata=[2, 'notebook'])` returns a deep copy, leaving the input intact.
94
+
95
+ ```sh
96
+ PYTHONPATH=src python3 -m unittest discover -s tests -v
97
+ ```
98
+
99
+ Experimental 0.1, nbformat 4 only, 20 MB input limit. Basic structure checks are not a full nbformat schema validator. Output files must be new and cannot overwrite inputs. No telemetry or external services. MIT licensed.
@@ -0,0 +1,86 @@
1
+ # Notebook Publish Check
2
+
3
+ [![Tests](https://github.com/R-Koda/notebook-publish-check/actions/workflows/tests.yml/badge.svg)](https://github.com/R-Koda/notebook-publish-check/actions/workflows/tests.yml)
4
+ **Keep useful figures. Review risky output. Publish a separate copy.**
5
+
6
+ A dependency-free, non-executing publication review tool for Jupyter notebooks. Generate a local HTML preview, inspect cell-level findings, choose which outputs or metadata to remove, and download a separate notebook.
7
+
8
+ Notebook公開前に、セルごとの点検結果を確認し、残す図と削除する出力を選べます。元ファイルは変更しません。
9
+
10
+ ## Install from PyPI / pipでインストール
11
+
12
+ Python 3.10 or later. Create and activate a virtual environment first:
13
+
14
+ ```sh
15
+ python3 -m venv .venv
16
+ ```
17
+
18
+ macOS / Linux: `source .venv/bin/activate`
19
+
20
+ Windows PowerShell: `.venv\Scripts\Activate.ps1`
21
+
22
+ ```sh
23
+ python -m pip install notebook-publish-check
24
+ nbpublish --help
25
+ ```
26
+
27
+ The help screen confirms that the command is available. Install only the tools you need.
28
+ [PyPI package](https://pypi.org/project/notebook-publish-check/) · [Source and examples](https://github.com/R-Koda/notebook-publish-check)
29
+
30
+ サンプルCSV・Notebookなどはpipでは配置されません。公開デモはブラウザで開けます。自分でサンプルを実行する場合はGitHubの「Code → Download ZIP」で取得・展開し、READMEの相対パスをそのフォルダー内から指定してください。
31
+
32
+ ## Article & live demo / 紹介記事と公開デモ
33
+
34
+ - [個別ガイド / Notebook Publish Check:公開前に出力を選んで整理する](https://ryu-koda.com/blog/notebook-publish-check-guide/)
35
+ - [紹介記事:データを分ける・評価する・公開する。Pythonの小さな確認ツールを3つ作りました](https://ryu-koda.com/blog/python-tools-splittrace-eventscore-notebook/) — Japanese overview of SplitTrace, EventScore Explorer, and Notebook Publish Check.
36
+ - [公開デモをブラウザで開く / Open the live demo](https://ryu-koda.com/articles/python-tools/notebook-demo.html) — Synthetic data only; no installation required.
37
+
38
+ 公開デモは合成データの出力例です。自分のファイルをアップロードする画面ではありません。
39
+ The hosted demo is a sample report, not a file-upload service.
40
+
41
+ ## Try the demo
42
+
43
+ Download and open [`examples/demo.html`](https://github.com/R-Koda/notebook-publish-check/blob/main/examples/demo.html). The sample uses synthetic logs and clearly fake credentials. Keep the figure in cell 2, remove outputs in cell 3, and inspect the warning in cell 4: deleting outputs does **not** remove a credential-like value from source code.
44
+
45
+ ```sh
46
+ python3 -m venv .venv
47
+ . .venv/bin/activate
48
+ python -m pip install .
49
+ nbpublish examples/publication-demo.ipynb --output reports/review.html --json reports/findings.json
50
+ ```
51
+
52
+ Without installation: `PYTHONPATH=src python3 -m notebook_publish_check` followed by the same arguments.
53
+
54
+ Python 3.10+. No runtime dependencies.
55
+
56
+ Exit codes: **0** no selected findings; **1** findings for review (report successfully created); **2** invalid input or I/O error. No findings does not mean a notebook is safe to publish.
57
+
58
+ ## Workflow
59
+
60
+ 1. Generate the local report; code is never executed.
61
+ 2. Inspect source, text output, raster images, and findings. HTML/SVG/JavaScript outputs are shown as text, never executed.
62
+ 3. Select output or metadata removal per cell. Selecting outputs clears the entire cell output and its execution count. It does not edit individual values.
63
+ 4. Download `reviewed-copy.ipynb`; the original is unchanged. Manually edit flagged source code when necessary.
64
+ 5. Re-run the checker on the downloaded copy, then review remaining content before publishing.
65
+
66
+ ## Checks and coverage
67
+
68
+ - Credential-like assignments (`api_key`, `access_token`, `password`, `secret`) and selected token prefixes; heuristic, with false positives and false negatives.
69
+ - Selected Unix/macOS/Windows home-directory absolute paths.
70
+ - Large serialized cell outputs (100,000 UTF-8 bytes by default; change with `--max-output-kb`).
71
+ - Rich outputs and embedded attachments marked for manual review.
72
+ - Notebook/cell metadata and textual attachments inspected for the same selected patterns.
73
+
74
+ **The HTML report embeds the original notebook**, including values omitted from the findings summary. Keep reports private. JSON findings omit matched values but may include metadata key names. Images are not OCR-scanned; binary attachments, arbitrary personal information, encoded/obfuscated secrets and Git history are not comprehensively checked. Source and attachments are preserved in exported copies. Metadata removal may remove tags, kernel info or presentation settings.
75
+
76
+ This is not a replacement for [Gitleaks](https://github.com/gitleaks/gitleaks), [nbstripout](https://github.com/kynan/nbstripout) or [nbdime](https://github.com/jupyter/nbdime). The focus is a publication review workflow with selective output retention.
77
+
78
+ ## Python API and development
79
+
80
+ `scan(notebook)` returns cell-indexed findings (indices are zero-based). `sanitize(notebook, remove_outputs=[2], remove_metadata=[2, 'notebook'])` returns a deep copy, leaving the input intact.
81
+
82
+ ```sh
83
+ PYTHONPATH=src python3 -m unittest discover -s tests -v
84
+ ```
85
+
86
+ Experimental 0.1, nbformat 4 only, 20 MB input limit. Basic structure checks are not a full nbformat schema validator. Output files must be new and cannot overwrite inputs. No telemetry or external services. MIT licensed.
@@ -0,0 +1 @@
1
+ Use synthetic data for public reports and issues. Reports may contain input data: keep them local unless reviewed. Do not attach credentials, personal data, or private notebooks.
@@ -0,0 +1,25 @@
1
+ <!doctype html><html lang="en"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Notebook Publish Check</title><style>
2
+ body{font:16px system-ui;color:#192a35;background:#f4f7f8;margin:0}main{max-width:1100px;margin:auto;padding:40px 24px}h1{font-size:32px}header p{max-width:800px;color:#526372}.tag{font-size:12px;letter-spacing:2px;color:#197465}section{background:white;border:1px solid #d8e1e4;border-radius:12px;padding:24px;margin:20px 0}.notice{border-left:4px solid #ac682a;background:#fff8ee;padding:18px}button{font:inherit;background:#176c61;color:white;border:0;border-radius:6px;padding:12px 20px;cursor:pointer}label{display:block;margin:12px 0}input{margin-right:8px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f1f5f7;padding:14px;font-size:13px;max-height:250px;overflow:auto}img{max-width:100%;max-height:300px;border:1px solid #ddd}li{margin:10px 0}.high{color:#a73832}.muted{color:#526372}.row{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}summary{cursor:pointer;padding:10px 0}.status{font-weight:600;color:#176c61}</style>
3
+ <main><header><div class="tag">LOCAL REVIEW · NO NOTEBOOK EXECUTION</div><h1>Notebook Publish Check</h1><p>Review findings, keep useful figures, and choose which cell outputs to remove. Download a separate copy after reviewing your selections.</p></header>
4
+ <div class="notice"><b>This report contains the original notebook.</b> Keep this HTML private. Findings are heuristics, not proof of safe publication. Source code and attachments are retained. No OCR or general personal-information detection is performed.</div>
5
+ <section><div class="row"><h2>Review summary</h2><span id="summary"></span></div><ul id="global"></ul><label><input type="checkbox" id="nbmeta">Remove notebook metadata from exported copy (including kernel information)</label><details><summary>Review notebook metadata</summary><pre id="notebook-metadata"></pre></details><p id="selection" class="status" aria-live="polite"></p><button id="download">Download selected copy (.ipynb)</button><p class="muted">The selected notebook is downloaded as a separate file. Your original file is never edited. Re-run this checker on the exported copy before sharing it.</p></section>
6
+ <div id="cells"></div><footer>Prototype 0.1 · Scans source, text outputs and metadata for selected credential patterns, absolute paths and output size. Rich HTML/SVG/JavaScript is displayed as text, never executed.</footer></main>
7
+ <script type="application/json" id="data">{"notebook": {"nbformat": 4, "nbformat_minor": 5, "metadata": {"kernelspec": {"display_name": "Python 3", "language": "python", "name": "python3"}, "local_path": "/Users/demo/project"}, "cells": [{"id": "intro", "cell_type": "markdown", "metadata": {}, "source": ["# Publication review demo\n", "Synthetic data only. Keep the figure, remove the noisy output."]}, {"id": "safe-figure", "cell_type": "code", "metadata": {}, "execution_count": 1, "source": ["# A tiny synthetic image; no code is executed by this tool."], "outputs": [{"output_type": "display_data", "metadata": {}, "data": {"image/png": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+jRZkAAAAASUVORK5CYII=", "text/plain": ["Synthetic image"]}}]}, {"id": "noisy-output", "cell_type": "code", "metadata": {"local_path": "/home/demo/results"}, "execution_count": 2, "source": ["print(\"synthetic log\")"], "outputs": [{"output_type": "stream", "name": "stdout", "text": ["Loaded /Users/demo/private/data.csv\n", "api_key = DEMO_NOT_A_REAL_CREDENTIAL_12345\n", "epoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\nepoch: synthetic training output\n"]}]}, {"id": "source-review", "cell_type": "code", "metadata": {}, "execution_count": null, "source": ["# REVIEW: removing outputs will not remove this source line.\n", "password = \"DEMO_FAKE_PASSWORD_ONLY\""], "outputs": []}]}, "findings": [{"cell": null, "area": "metadata", "rule": "absolute-path", "severity": "review", "detail": "Local absolute path in local_path; value omitted."}, {"cell": 1, "area": "outputs", "rule": "manual-media-review", "severity": "review", "detail": "Rich output may contain identifying content; images are not OCR-scanned and HTML/JavaScript is never executed in the report."}, {"cell": 2, "area": "metadata", "rule": "absolute-path", "severity": "review", "detail": "Local absolute path in local_path; value omitted."}, {"cell": 2, "area": "outputs", "rule": "possible-secret", "severity": "high", "detail": "Credential-like pattern in [0].text; value omitted. Review manually."}, {"cell": 2, "area": "outputs", "rule": "absolute-path", "severity": "review", "detail": "Local absolute path in [0].text; value omitted."}, {"cell": 2, "area": "outputs", "rule": "large-output", "severity": "review", "detail": "136,148 serialized UTF-8 bytes exceeds 100,000."}, {"cell": 3, "area": "source", "rule": "possible-secret", "severity": "high", "detail": "Credential-like pattern in source; value omitted. Review manually."}]}</script><script>
8
+ const data=JSON.parse(document.getElementById('data').textContent), nb=data.notebook, removed=new Set(), metadata=new Set();
9
+ function el(tag,text,parent){const n=document.createElement(tag);if(text!==undefined)n.textContent=text;if(parent)parent.append(n);return n}
10
+ function text(v){return Array.isArray(v)?v.join(''):String(v??'')}
11
+ function finding(f,parent){const li=el('li',f.rule+' · '+f.area+' — '+f.detail,parent);if(f.severity==='high')li.className='high'}
12
+ document.getElementById('summary').textContent=nb.cells.length+' cells · '+data.findings.length+' findings';
13
+ document.getElementById('notebook-metadata').textContent=JSON.stringify(nb.metadata||{},null,2);
14
+ data.findings.filter(f=>f.cell===null).forEach(f=>finding(f,document.getElementById('global')));
15
+ function update(){document.getElementById('selection').textContent=removed.size+' cells: outputs removed · '+metadata.size+' cells: metadata removed'+(document.getElementById('nbmeta').checked?' · notebook metadata removed':'')}
16
+ nb.cells.forEach((c,i)=>{const s=el('section',undefined,document.getElementById('cells'));const row=el('div',undefined,s);row.className='row';el('h2','Cell '+(i+1)+' · '+c.cell_type,row);const ff=data.findings.filter(f=>f.cell===i);el('span',ff.length?ff.length+' findings':'No selected patterns detected',row);const list=el('ul',undefined,s);ff.forEach(f=>finding(f,list));
17
+ const source=el('details',undefined,s);el('summary','Review source (retained in export)',source);el('pre',text(c.source),source);
18
+ if(c.cell_type==='code' && c.outputs?.length){const l=el('label',undefined,s);const cb=el('input',undefined,l);cb.type='checkbox';l.append(document.createTextNode('Remove all outputs and execution count from this cell'));cb.onchange=()=>{cb.checked?removed.add(i):removed.delete(i);preview.hidden=cb.checked;update()}; const preview=el('div',undefined,s);el('h3','Output preview',preview);c.outputs.forEach(o=>{if(o.text)el('pre',text(o.text).slice(0,6000)+(text(o.text).length>6000?'\n[Preview truncated; full output remains in export unless removed.]':''),preview);if(o.traceback)el('pre',text(o.traceback),preview);for(const [mime,v] of Object.entries(o.data||{})){if(['image/png','image/jpeg','image/gif','image/webp'].includes(mime)){const encoded=text(v).replace(/\s/g,'');if(/^[A-Za-z0-9+/]*={0,2}$/.test(encoded)){const img=el('img',undefined,preview);img.alt='Cell '+(i+1)+' output: manually inspect for identifying content';img.src='data:'+mime+';base64,'+encoded}}else{el('pre',mime+'\n'+text(v).slice(0,6000),preview)}}});}
19
+ if(Object.keys(c.metadata||{}).length){const l=el('label',undefined,s);const cb=el('input',undefined,l);cb.type='checkbox';l.append(document.createTextNode('Remove cell metadata (may remove tags or presentation settings)'));cb.onchange=()=>{cb.checked?metadata.add(i):metadata.delete(i);update()};const d=el('details',undefined,s);el('summary','Review cell metadata',d);el('pre',JSON.stringify(c.metadata,null,2),d)}
20
+ });
21
+ document.getElementById('nbmeta').onchange=update;
22
+ function download(value,name,type){const url=URL.createObjectURL(new Blob([JSON.stringify(value,null,2)+'\n'],{type}));const a=document.createElement('a');a.href=url;a.download=name;a.click();setTimeout(()=>URL.revokeObjectURL(url),1000)}
23
+ function selectedCopy(original,outputs,cellMetadata,notebookMetadata){const out=JSON.parse(JSON.stringify(original));outputs.forEach(i=>{out.cells[i].outputs=[];out.cells[i].execution_count=null});cellMetadata.forEach(i=>{out.cells[i].metadata={}});if(notebookMetadata)out.metadata={};return out}
24
+ document.getElementById('download').onclick=()=>{download(selectedCopy(nb,removed,metadata,document.getElementById('nbmeta').checked),'reviewed-copy.ipynb','application/x-ipynb+json')};update();
25
+ </script></html>