changeset 3:044d36066cb3 draft

planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 6ae809b563b40bcdb6be2e74fe2a84ddad5484ae
author tduigou
date Fri, 16 May 2025 12:40:59 +0000
parents 3171db614963
children 254d284a5be9
files cloning_similation.xml cloning_simulation.py output.html output.json
diffstat 4 files changed, 637 insertions(+), 346 deletions(-) [+]
line wrap: on
line diff
--- a/cloning_similation.xml	Fri May 16 11:32:06 2025 +0000
+++ b/cloning_similation.xml	Fri May 16 12:40:59 2025 +0000
@@ -38,7 +38,7 @@
             --output_simulation 'output_zip.zip'
             --enzyme '$adv.enzyme' 
             --topology '$topology'&&
-        cp 'output_zip.zip' '$output_zip'
+        cp 'output_zip.zip' '$output_zip' 
     ]]></command>
     <inputs>
         <param name="genbank_files" type="data_collection" collection_type="list" format="genbank,fasta" label="GenBank and/or Fasta File(s)"/>
@@ -97,7 +97,7 @@
                     </has_archive_member>
                 </assert_contents>
             </output>
-            <output_collection name="outdir_gb" type="list" count="4">
+            <output_collection name="construct_gb" type="list" count="4">
                 <element name="construct_1">
                     <assert_contents>
                      <has_n_lines min="20" />
@@ -139,7 +139,7 @@
                     </has_archive_member>
                 </assert_contents>
             </output>
-            <output_collection name="outdir_gb" type="list" count="4">
+            <output_collection name="construct_gb" type="list" count="3">
                 <element name="construct_1">
                     <assert_contents>
                      <has_n_lines min="20" />
@@ -177,7 +177,7 @@
                     </has_archive_member>
                 </assert_contents>
             </output>
-            <output_collection name="outdir_gb" type="list" count="0">
+            <output_collection name="construct_gb" type="list" count="0">
             </output_collection>
         </test>
         <!--test BASIC_assembly class-->
@@ -203,7 +203,7 @@
                     </has_archive_member>
                 </assert_contents>
             </output>
-            <output_collection name="outdir_gb" type="list" count="0">
+            <output_collection name="construct_gb" type="list" count="0">
             </output_collection>
         </test>
         <!--test biobrick_assembly class-->
@@ -229,7 +229,22 @@
                     </has_archive_member>
                 </assert_contents>
             </output>
-            <output_collection name="outdir_gb" type="list" count="0">
+            <output_collection name="construct_gb" type="list" count="3">
+                <element name="C1_prom_barcode">
+                    <assert_contents>
+                     <has_n_lines min="20" />
+                    </assert_contents>
+                </element>
+                <element name="C2_gfp_term">
+                    <assert_contents>
+                     <has_n_lines min="20" />
+                    </assert_contents>
+                </element>
+                <element name="C3_final">
+                    <assert_contents>
+                     <has_n_lines min="20" />
+                    </assert_contents>
+                </element>
             </output_collection>
         </test>
         <!--test type2s_assembly with domesticated files-->
@@ -266,7 +281,7 @@
                     </has_archive_member>
                 </assert_contents>
             </output>
-            <output_collection name="outdir_gb" type="list" count="4">
+            <output_collection name="construct_gb" type="list" count="4">
                 <element name="construct_1">
                     <assert_contents>
                      <has_n_lines min="20" />
--- a/cloning_simulation.py	Fri May 16 11:32:06 2025 +0000
+++ b/cloning_simulation.py	Fri May 16 12:40:59 2025 +0000
@@ -111,10 +111,9 @@
         #print("Files in the zip archive:")
         #for info in zipf.infolist():
             #print(info.filename)
-    with zipfile.ZipFile(output_simulation, 'r') as zipf:
         for member in zipf.namelist():
             # Only extract actual files inside 'all_construct_records/' (not subfolders)
-            if member.startswith("all_construct_records/") and not member.endswith("/"):
+            if member.startswith("assambly_simulation/all_construct_records/") and not member.endswith("/"):
                 # Get the file name only (strip folder path)
                 filename = os.path.basename(member)
                 if not filename:
--- a/output.html	Fri May 16 11:32:06 2025 +0000
+++ b/output.html	Fri May 16 12:40:59 2025 +0000
@@ -285,7 +285,7 @@
         var md = window.markdownit({
           html: true,
         });
-        target.innerHTML = md.render(atob('IyMgVGVzdCBTdW1tYXJ5Cgo8ZGl2IGNsYXNzPSJwcm9ncmVzcyI+CiAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIHByb2dyZXNzLWJhci1zdWNjZXNzIiBzdHlsZT0id2lkdGg6IDEwMC4wJSIgYXJpYS12YWx1ZW5vdz0iNiIgYXJpYS12YWx1ZW1pbj0iMCIgYXJpYS12YWx1ZW1heD0iNiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIHRpdGxlPSI2IFBhc3NlZCI+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIHByb2dyZXNzLWJhci13YXJuaW5nIiBzdHlsZT0id2lkdGg6IDAuMCUiIGFyaWEtdmFsdWVub3c9IjAiIGFyaWEtdmFsdWVtaW49IjAiIGFyaWEtdmFsdWVtYXg9IjYiIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiB0aXRsZT0iMCBTa2lwcGVkIj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIgcHJvZ3Jlc3MtYmFyLWRhbmdlciIgc3R5bGU9IndpZHRoOiAwLjAlIiBhcmlhLXZhbHVlbm93PSIwIiBhcmlhLXZhbHVlbWluPSIwIiBhcmlhLXZhbHVlbWF4PSI2IiB0aXRsZT0iMCBGYWlsZWQgb3IgRXJyb3JlZCI+CiAgPC9kaXY+CjwvZGl2PgoKfCBUZXN0IFN0YXRlIHwgQ291bnQgfAp8IC0tLS0tLS0tLS0gfCAtLS0tLSB8CnwgVG90YWwgICAgICB8IDYgfAp8IFBhc3NlZCAgICAgfCA2IHwKfCBFcnJvciAgICAgIHwgMCB8CnwgRmFpbHVyZSAgICB8IDAgfAp8IFNraXBwZWQgICAgfCAwIHwKCgo8ZGV0YWlscyA+PHN1bW1hcnk+UGFzc2VkIFRlc3RzPC9zdW1tYXJ5PgoKKiA8ZGV0YWlscyBjbGFzcz0icmNvcm5lcnMgbGlnaHQtZ3JlZW4iPjxzdW1tYXJ5IGNsYXNzPSJsaWdodC1ncmVlbiI+JiM5OTg5OyBjbG9uaW5nX3NpbXVsYXRpb24gKFRlc3QgIyAxKTwvc3VtbWFyeT48ZGl2IGNsYXNzPSJwYWRkZWQiPgoKICAgICoqQ29tbWFuZCBMaW5lOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIG1rZGlyICdvdXRkaXJfemlwJyAmJiBweXRob24gJy9ob21lL3JraGFsZWQvZ2FsYXh5dG9vbHMvdG9vbHMvY2xvbmluZ19zaW11bGF0aW9uL2Nsb25pbmdfc2ltdWxhdGlvbi5weScgLS1wYXJ0c19maWxlcyAnL3RtcC90bXBzMzZhbmtzdS9maWxlcy82L2EvNC9kYXRhc2V0XzZhNDA3ZjI5LTE0YTItNDM1OC04NzgxLTk3YTVhNjAwMDZiZi5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy85L2MvMC9kYXRhc2V0XzljMDUxMjBiLTJhOTMtNDI5OC1hNzE4LTJkYjQ4MmRlYzllMC5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy9lLzkvZC9kYXRhc2V0X2U5ZGQ2YzRhLTVkMWMtNDhkNi1iMDcyLWJiNjc5Mjk1OTBmNS5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy9jLzIvYS9kYXRhc2V0X2MyYTY3YjljLWJkMGQtNDgzYi1iMjI5LTFmMzk2YmM4YzI3NS5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy81LzMvZC9kYXRhc2V0XzUzZGM2YjNlLTNkMmItNGZiNy1iMjc5LThiNzIwNGFlOGQwMC5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy80LzAvZi9kYXRhc2V0XzQwZmE4OWI0LTVlNDktNDY3ZS1hYTZhLWQ0YjhjOWI4YThiMC5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy8xLzQvYi9kYXRhc2V0XzE0YjgxNWNiLTAzOGUtNDgzNi1iYjRlLTNmMDQ5Mzk1MjcxYy5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy8zLzIvNy9kYXRhc2V0XzMyNzE5OTcwLTgwMDktNDgxOC1hNjIzLWJhOTgwYWY4NGQ3MC5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy82LzgvZS9kYXRhc2V0XzY4ZTMwYTJkLWE0NGQtNDBlNi1hNjE5LWVmYTFlOGNkNmU0Yi5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy8yLzMvYy9kYXRhc2V0XzIzYzA2ZmFlLTk2Y2MtNGZmOC05ZTIzLTExMTEzOWNlMWE5Mi5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy9kLzIvOS9kYXRhc2V0X2QyOWMxNmE3LTI0NzAtNDE4ZS1hOGYxLTFkYTdjNTM3MmRkZS5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy8yLzkvMC9kYXRhc2V0XzI5MGJmZGY0LWY1OTUtNDJmMS1hMmYwLTBmOWE5ZDhlNzFkZi5kYXQnIC0tZG9tZXN0aWNhdGVkX3NlcSAnJyAtLWFzc2VtYmx5X2NzdiAnL3RtcC90bXBzMzZhbmtzdS9maWxlcy80LzIvMC9kYXRhc2V0XzQyMGM0YjA3LWVhMTctNGU2My05ZjQ4LTRjYzM2NGUyODQzMi5kYXQnIC0tYXNzZW1ibHlfcGxhbl9uYW1lICdUeXBlMnNSZXN0cmljdGlvbkFzc2VtYmx5JyAtLWZpbGVfbmFtZV9tYXBwaW5nICcvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzYvYS80L2RhdGFzZXRfNmE0MDdmMjktMTRhMi00MzU4LTg3ODEtOTdhNWE2MDAwNmJmLmRhdDpwYXJ0X0EuZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy85L2MvMC9kYXRhc2V0XzljMDUxMjBiLTJhOTMtNDI5OC1hNzE4LTJkYjQ4MmRlYzllMC5kYXQ6cGFydF9CLmdiLC90bXAvdG1wczM2YW5rc3UvZmlsZXMvZS85L2QvZGF0YXNldF9lOWRkNmM0YS01ZDFjLTQ4ZDYtYjA3Mi1iYjY3OTI5NTkwZjUuZGF0OnBhcnRfQy5nYiwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzL2MvMi9hL2RhdGFzZXRfYzJhNjdiOWMtYmQwZC00ODNiLWIyMjktMWYzOTZiYzhjMjc1LmRhdDpwYXJ0X0QuZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy81LzMvZC9kYXRhc2V0XzUzZGM2YjNlLTNkMmItNGZiNy1iMjc5LThiNzIwNGFlOGQwMC5kYXQ6cGFydF9FLmdiLC90bXAvdG1wczM2YW5rc3UvZmlsZXMvNC8wL2YvZGF0YXNldF80MGZhODliNC01ZTQ5LTQ2N2UtYWE2YS1kNGI4YzliOGE4YjAuZGF0OnBhcnRfRi5nYiwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzEvNC9iL2RhdGFzZXRfMTRiODE1Y2ItMDM4ZS00ODM2LWJiNGUtM2YwNDkzOTUyNzFjLmRhdDpwYXJ0X0cuZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy8zLzIvNy9kYXRhc2V0XzMyNzE5OTcwLTgwMDktNDgxOC1hNjIzLWJhOTgwYWY4NGQ3MC5kYXQ6cGFydF9ILmdiLC90bXAvdG1wczM2YW5rc3UvZmlsZXMvNi84L2UvZGF0YXNldF82OGUzMGEyZC1hNDRkLTQwZTYtYTYxOS1lZmExZThjZDZlNGIuZGF0OnBhcnRfSS5nYiwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzIvMy9jL2RhdGFzZXRfMjNjMDZmYWUtOTZjYy00ZmY4LTllMjMtMTExMTM5Y2UxYTkyLmRhdDpwYXJ0X0ouZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy9kLzIvOS9kYXRhc2V0X2QyOWMxNmE3LTI0NzAtNDE4ZS1hOGYxLTFkYTdjNTM3MmRkZS5kYXQ6cGFydF9LLmdiLC90bXAvdG1wczM2YW5rc3UvZmlsZXMvMi85LzAvZGF0YXNldF8yOTBiZmRmNC1mNTk1LTQyZjEtYTJmMC0wZjlhOWQ4ZTcxZGYuZGF0OnBhcnRfTC5nYicgLS1maWxlX25hbWVfbWFwcGluZ19kb20gJycgLS11c2VfZmlsZV9uYW1lc19hc19pZCAndHJ1ZScgLS1vdXRkaXJfc2ltdWxhdGlvbiAnb3V0ZGlyX3ppcCcgLS1vdXRwdXRfc2ltdWxhdGlvbiAnb3V0cHV0X3ppcC56aXAnIC0tZW56eW1lICdhdXRvJyAtLXRvcG9sb2d5ICdjaXJjdWxhcicmJiBjcCAnb3V0cHV0X3ppcC56aXAnICcvdG1wL3RtcHMzNmFua3N1L2pvYl93b3JraW5nX2RpcmVjdG9yeS8wMDAvMTQvb3V0cHV0cy9kYXRhc2V0XzE5ODI3ZDQ2LTk2ZDgtNDhjOC1iNDM0LTE3ZjllNDczMmFlYy5kYXQnCiAgICAgIGBgYAogICAgKipFeGl0IENvZGU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgMAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgRXJyb3I6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogIDUwJXzilojilojilojilojiloggICAgIHwgMi80IFswMDowMDwwMDowMCwgIDIuMzhpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA3NSV84paI4paI4paI4paI4paI4paI4paI4paMICB8IDMvNCBbMDA6MDE8MDA6MDAsICAyLjE1aXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAxMDAlfOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiHwgNC80IFswMDowMjwwMDowMCwgIDEuNzZpdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIE91dHB1dDoqKgoKICAgICogYGBgY29uc29sZQogICAgICBTaW11bGF0aW5nIGFzc2VtYmx5IHBsYW4gYXNzYW1ibHkuLi4KICAgICAgeydjYW5jZWxsZWRfYXNzZW1ibGllcyc6IDAsICdlcnJvcmVkX2Fzc2VtYmxpZXMnOiAwLCAndmFsaWRfYXNzZW1ibGllcyc6IDR9CiAgICAgIEdlbmVyYXRpbmcgYXNzZW1ibGllcyByZXBvcnRzLi4uCiAgICAgIEZpbGVzIGluIHRoZSB6aXAgYXJjaGl2ZToKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NhbWJseV9hbGxfcmVxdWlyZWRfcGFydHMudHh0CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYXNzYW1ibHlfY29uc3RydWN0c19sZXZlbF8yLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2FtYmx5X3NpbXVsYXRpb25fc3RhdHMuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYXNzYW1ibHlfY29uc3RydWN0c19sZXZlbF8xLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL1JlcG9ydC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NlbWJseV9wbGFuX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2FtYmx5X3N1bW1hcnkuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzMvY29uc3RydWN0XzNfdHlwZTJzX21peF9wYXJ0c19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9jb25zdHJ1Y3RfM19zdW1tYXJ5LmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8zL2NvbnN0cnVjdF8zX3R5cGUyc19taXhfY29ubmVjdGlvbnNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzMvY29uc3RydWN0XzMuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9jb25zdHJ1Y3RfMy5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3BhcnRfTC5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8zL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9LLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzMvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0ouZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL2NvbnN0cnVjdF8xLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYWxsX2NvbnN0cnVjdF9yZWNvcmRzL2NvbnN0cnVjdF8yLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYWxsX2NvbnN0cnVjdF9yZWNvcmRzL2NvbnN0cnVjdF8zLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYWxsX2NvbnN0cnVjdF9yZWNvcmRzL2NvbnN0cnVjdF80LmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYWxsX2NvbnN0cnVjdF9yZWNvcmRzL2NvbnN0cnVjdF8xLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvY29uc3RydWN0XzFfdHlwZTJzX21peF9jb25uZWN0aW9uc19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMS9jb25zdHJ1Y3RfMV9zdW1tYXJ5LmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8xL2NvbnN0cnVjdF8xX3R5cGUyc19taXhfcGFydHNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvY29uc3RydWN0XzEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvY29uc3RydWN0XzEuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3BhcnRfRi5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8xL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9CLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0QuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3BhcnRfQS5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8xL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9DLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0UuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvcGFydF9MLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vcGFydF9yZWNvcmRzL3BhcnRfRi5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9wYXJ0X0IuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvcGFydF9LLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vcGFydF9yZWNvcmRzL3BhcnRfRC5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9wYXJ0X0EuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvcGFydF9DLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vcGFydF9yZWNvcmRzL3BhcnRfRy5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9wYXJ0X0kuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvcGFydF9FLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vcGFydF9yZWNvcmRzL3BhcnRfSi5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9wYXJ0X0guZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMi9jb25zdHJ1Y3RfMl90eXBlMnNfbWl4X3BhcnRzX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8yL2NvbnN0cnVjdF8yLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8yL2NvbnN0cnVjdF8yLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzIvY29uc3RydWN0XzJfc3VtbWFyeS5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMi9jb25zdHJ1Y3RfMl90eXBlMnNfbWl4X2Nvbm5lY3Rpb25zX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8yL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9GLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzIvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0EuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMi9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3BhcnRfRy5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8yL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9JLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzIvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0guZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfNC9jb25zdHJ1Y3RfNF90eXBlMnNfbWl4X3BhcnRzX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF80L2NvbnN0cnVjdF80LnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF80L2NvbnN0cnVjdF80LmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvY29uc3RydWN0XzRfc3VtbWFyeS5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfNC9jb25zdHJ1Y3RfNF90eXBlMnNfbWl4X2Nvbm5lY3Rpb25zX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF80L3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9MLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0suZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfNC9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL2NvbnN0cnVjdF8yLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0ouZ2IKCiAgICAgIGBgYAogICAgKipUcmFjZWJhY2s6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGBgYAogICAqKkpvYiBQYXJhbWV0ZXJzOioqCgogICAqICAgfCBKb2IgcGFyYW1ldGVyIHwgUGFyYW1ldGVyIHZhbHVlIHwKICAgICAgIHwgLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLSB8CiAgICAgICB8IGdlbmJhbmtcX2ZpbGVzIHwgYCB7InZhbHVlcyI6IFt7ImlkIjogMSwgInNyYyI6ICJoZGNhIn1dfSBgIHwKICAgICAgIHwgZG9tZXN0aWNhdGVkXF9pbnB1dCB8IGAgTm9uZSBgIHwKICAgICAgIHwgYXNzZW1ibHlcX3BsYW5cX25hbWUgfCBgICJUeXBlMnNSZXN0cmljdGlvbkFzc2VtYmx5IiBgIHwKICAgICAgIHwgdG9wb2xvZ3kgfCBgICJjaXJjdWxhciIgYCB8CiAgICAgICB8IGFkdiB8IGAgeyJlbnp5bWUiOiAiYXV0byIsICJ1c2VfZmlsZV9uYW1lc19hc19pZHMiOiB0cnVlfSBgIHwKICAgICAgIHwgY2hyb21JbmZvIHwgYCAiL3RtcC90bXBzMzZhbmtzdS9nYWxheHktZGV2L3Rvb2wtZGF0YS9zaGFyZWQvdWNzYy9jaHJvbS8/LmxlbiIgYCB8CiAgICAgICB8IGRia2V5IHwgYCAiPyIgYCB8CiAgICAgICB8IFxfXF9pbnB1dFxfZXh0IHwgYCAiaW5wdXQiIGAgfAoKCgogICAgPC9kaXY+PC9kZXRhaWxzPgoKCiogPGRldGFpbHMgY2xhc3M9InJjb3JuZXJzIGxpZ2h0LWdyZWVuIj48c3VtbWFyeSBjbGFzcz0ibGlnaHQtZ3JlZW4iPiYjOTk4OTsgY2xvbmluZ19zaW11bGF0aW9uIChUZXN0ICMgMik8L3N1bW1hcnk+PGRpdiBjbGFzcz0icGFkZGVkIj4KCiAgICAqKkNvbW1hbmQgTGluZToqKgoKICAgICogYGBgY29uc29sZQogICAgICBta2RpciAnb3V0ZGlyX3ppcCcgJiYgcHl0aG9uICcvaG9tZS9ya2hhbGVkL2dhbGF4eXRvb2xzL3Rvb2xzL2Nsb25pbmdfc2ltdWxhdGlvbi9jbG9uaW5nX3NpbXVsYXRpb24ucHknIC0tcGFydHNfZmlsZXMgJy90bXAvdG1wczM2YW5rc3UvZmlsZXMvNS9jLzIvZGF0YXNldF81YzIxNTBiNS01MzdhLTQ5NzEtOThlZi05NTliYjQxNDFmYWMuZGF0JyAtLWRvbWVzdGljYXRlZF9zZXEgJycgLS1hc3NlbWJseV9jc3YgJy90bXAvdG1wczM2YW5rc3UvZmlsZXMvNy9hLzAvZGF0YXNldF83YTA5YTE2YS1hN2Y3LTQ0Y2UtOGUxZC01ZjZiYWYzODVjNDQuZGF0JyAtLWFzc2VtYmx5X3BsYW5fbmFtZSAnR2lic29uQXNzZW1ibHknIC0tZmlsZV9uYW1lX21hcHBpbmcgJy90bXAvdG1wczM2YW5rc3UvZmlsZXMvNS9jLzIvZGF0YXNldF81YzIxNTBiNS01MzdhLTQ5NzEtOThlZi05NTliYjQxNDFmYWMuZGF0OmdpYnNvbl9zZXF1ZW5jZXMuZmEnIC0tZmlsZV9uYW1lX21hcHBpbmdfZG9tICcnIC0tdXNlX2ZpbGVfbmFtZXNfYXNfaWQgJ3RydWUnIC0tb3V0ZGlyX3NpbXVsYXRpb24gJ291dGRpcl96aXAnIC0tb3V0cHV0X3NpbXVsYXRpb24gJ291dHB1dF96aXAuemlwJyAtLWVuenltZSAnYXV0bycgLS10b3BvbG9neSAnY2lyY3VsYXInJiYgY3AgJ291dHB1dF96aXAuemlwJyAnL3RtcC90bXBzMzZhbmtzdS9qb2Jfd29ya2luZ19kaXJlY3RvcnkvMDAwLzE3L291dHB1dHMvZGF0YXNldF80YzcwYjNmOS05ZmI0LTRlMWMtOTQyYy00N2ZkNzhhNWEzNDguZGF0JwogICAgICBgYGAKICAgICoqRXhpdCBDb2RlOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIDAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIEVycm9yOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzUgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzUgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA0MCV84paI4paI4paI4paIICAgICAgfCAyLzUgWzAwOjAwPDAwOjAwLCAgNC4xMGl0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogIDYwJXzilojilojilojilojilojiloggICAgfCAzLzUgWzAwOjAwPDAwOjAwLCAgNC4xMGl0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogIDgwJXzilojilojilojilojilojilojilojiloggIHwgNC81IFswMDowMDwwMDowMCwgIDQuMDlpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6IDEwMCV84paI4paI4paI4paI4paI4paI4paI4paI4paI4paIfCA1LzUgWzAwOjAxPDAwOjAwLCAgMy4zOGl0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgT3V0cHV0OioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIFNpbXVsYXRpbmcgYXNzZW1ibHkgcGxhbiBhc3NhbWJseS4uLgogICAgICB7J2NhbmNlbGxlZF9hc3NlbWJsaWVzJzogMCwgJ2Vycm9yZWRfYXNzZW1ibGllcyc6IDIsICd2YWxpZF9hc3NlbWJsaWVzJzogM30KICAgICAgR2VuZXJhdGluZyBhc3NlbWJsaWVzIHJlcG9ydHMuLi4KICAgICAgRmlsZXMgaW4gdGhlIHppcCBhcmNoaXZlOgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2FtYmx5X2FsbF9yZXF1aXJlZF9wYXJ0cy50eHQKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NhbWJseV9hc3NlbWJseV9wbGFuLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2FtYmx5X3NpbXVsYXRpb25fc3RhdHMuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vUmVwb3J0LnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2FtYmx5X3dhcm5pbmdzLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2FtYmx5X2Vycm9ycy5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NhbWJseV9zdW1tYXJ5LmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8zL2NvbnN0cnVjdF8zX3N1bW1hcnkuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzMvY29uc3RydWN0XzMuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9jb25zdHJ1Y3RfMy5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9jb25zdHJ1Y3RfM19jb25uZWN0aW9uc19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0ZyYWdfNWIuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0ZyYWdfNGMuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0ZyYWdfMy5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8zL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvRnJhZ18xLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzMvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9GcmFnXzIuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hbGxfY29uc3RydWN0X3JlY29yZHMvY29uc3RydWN0XzIuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hbGxfY29uc3RydWN0X3JlY29yZHMvY29uc3RydWN0XzMuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hbGxfY29uc3RydWN0X3JlY29yZHMvY29uc3RydWN0XzEuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMS9jb25zdHJ1Y3RfMV9zdW1tYXJ5LmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8xL2NvbnN0cnVjdF8xLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8xL2NvbnN0cnVjdF8xX2Nvbm5lY3Rpb25zX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8xL2NvbnN0cnVjdF8xLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9GcmFnXzUuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0ZyYWdfNC5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8xL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvRnJhZ18zLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9GcmFnXzEuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0ZyYWdfMi5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9GcmFnXzUuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvRnJhZ181Yi5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9GcmFnXzQuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvRnJhZ180Yy5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9GcmFnXzRiLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vcGFydF9yZWNvcmRzL0ZyYWdfMy5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9GcmFnXzEuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvRnJhZ18yLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzIvY29uc3RydWN0XzIucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzIvY29uc3RydWN0XzJfY29ubmVjdGlvbnNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzIvY29uc3RydWN0XzIuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMi9jb25zdHJ1Y3RfMl9zdW1tYXJ5LmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8yL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvRnJhZ181LmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzIvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9GcmFnXzRiLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzIvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9GcmFnXzMuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMi9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0ZyYWdfMS5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8yL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvRnJhZ18yLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvZXJyb3IuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvY29uc3RydWN0XzVfY29ubmVjdGlvbnNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvd2FybmluZ3MuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvZnJhZ21lbnRzX2luX2NvbnN0cnVjdF81X2hvbW9sb2d5X21peC9GcmFnXzFfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvZnJhZ21lbnRzX2luX2NvbnN0cnVjdF81X2hvbW9sb2d5X21peC9GcmFnXzJfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvZnJhZ21lbnRzX2luX2NvbnN0cnVjdF81X2hvbW9sb2d5X21peC9GcmFnXzNfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvZnJhZ21lbnRzX2luX2NvbnN0cnVjdF81X2hvbW9sb2d5X21peC9GcmFnXzRfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvZnJhZ21lbnRzX2luX2NvbnN0cnVjdF81X2hvbW9sb2d5X21peC9GcmFnXzRiXzAxLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF81L3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL0ZyYWdfNGIucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvcHJvdmlkZWRfcGFydHNfcGxvdHMvRnJhZ180LnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF81L3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL0ZyYWdfMy5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfNS9wcm92aWRlZF9wYXJ0c19wbG90cy9GcmFnXzIucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvcHJvdmlkZWRfcGFydHNfcGxvdHMvRnJhZ18xLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF81L3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvRnJhZ180LmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9GcmFnXzRiLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzUvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9GcmFnXzMuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfNS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0ZyYWdfMS5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF81L3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvRnJhZ18yLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvY29uc3RydWN0XzRfY29ubmVjdGlvbnNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvZXJyb3IuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvd2FybmluZ3MuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvcHJvdmlkZWRfcGFydHNfcGxvdHMvRnJhZ180LnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF80L3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL0ZyYWdfMy5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfNC9wcm92aWRlZF9wYXJ0c19wbG90cy9GcmFnXzIucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvcHJvdmlkZWRfcGFydHNfcGxvdHMvRnJhZ18xLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF80L3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvRnJhZ180LmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9GcmFnXzMuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfNC9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0ZyYWdfMS5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF80L3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvRnJhZ18yLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvZnJhZ21lbnRzX2luX2NvbnN0cnVjdF80X2hvbW9sb2d5X21peC9GcmFnXzFfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvZnJhZ21lbnRzX2luX2NvbnN0cnVjdF80X2hvbW9sb2d5X21peC9GcmFnXzJfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvZnJhZ21lbnRzX2luX2NvbnN0cnVjdF80X2hvbW9sb2d5X21peC9GcmFnXzNfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvZnJhZ21lbnRzX2luX2NvbnN0cnVjdF80X2hvbW9sb2d5X21peC9GcmFnXzRfMDEucGRmCgogICAgICBgYGAKICAgICoqVHJhY2ViYWNrOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBgYGAKICAgKipKb2IgUGFyYW1ldGVyczoqKgoKICAgKiAgIHwgSm9iIHBhcmFtZXRlciB8IFBhcmFtZXRlciB2YWx1ZSB8CiAgICAgICB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfAogICAgICAgfCBnZW5iYW5rXF9maWxlcyB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDIsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGRvbWVzdGljYXRlZFxfaW5wdXQgfCBgIE5vbmUgYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiR2lic29uQXNzZW1ibHkiIGAgfAogICAgICAgfCB0b3BvbG9neSB8IGAgImNpcmN1bGFyIiBgIHwKICAgICAgIHwgYWR2IHwgYCB7ImVuenltZSI6ICJhdXRvIiwgInVzZV9maWxlX25hbWVzX2FzX2lkcyI6IHRydWV9IGAgfAogICAgICAgfCBjaHJvbUluZm8gfCBgICIvdG1wL3RtcHMzNmFua3N1L2dhbGF4eS1kZXYvdG9vbC1kYXRhL3NoYXJlZC91Y3NjL2Nocm9tLz8ubGVuIiBgIHwKICAgICAgIHwgZGJrZXkgfCBgICI/IiBgIHwKICAgICAgIHwgXF9cX2lucHV0XF9leHQgfCBgICJpbnB1dCIgYCB8CgoKCiAgICA8L2Rpdj48L2RldGFpbHM+CgoKKiA8ZGV0YWlscyBjbGFzcz0icmNvcm5lcnMgbGlnaHQtZ3JlZW4iPjxzdW1tYXJ5IGNsYXNzPSJsaWdodC1ncmVlbiI+JiM5OTg5OyBjbG9uaW5nX3NpbXVsYXRpb24gKFRlc3QgIyAzKTwvc3VtbWFyeT48ZGl2IGNsYXNzPSJwYWRkZWQiPgoKICAgICoqQ29tbWFuZCBMaW5lOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIG1rZGlyICdvdXRkaXJfemlwJyAmJiBweXRob24gJy9ob21lL3JraGFsZWQvZ2FsYXh5dG9vbHMvdG9vbHMvY2xvbmluZ19zaW11bGF0aW9uL2Nsb25pbmdfc2ltdWxhdGlvbi5weScgLS1wYXJ0c19maWxlcyAnL3RtcC90bXBzMzZhbmtzdS9maWxlcy9hL2EvMC9kYXRhc2V0X2FhMDM1Y2U5LWIzZWUtNGM0ZC1hNWMxLWUyNDUxYzQyOTdjMi5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy80L2IvYi9kYXRhc2V0XzRiYjJiZjZhLWIzNTEtNGE4MC1hYjQ3LWQ0ZDU2YWVmYTM4Yy5kYXQnIC0tZG9tZXN0aWNhdGVkX3NlcSAnJyAtLWFzc2VtYmx5X2NzdiAnL3RtcC90bXBzMzZhbmtzdS9maWxlcy81L2EvZi9kYXRhc2V0XzVhZjg5YjAwLTc1N2QtNDYwNi1iNmM4LWQwMGQzZjBjYTM5ZS5kYXQnIC0tYXNzZW1ibHlfcGxhbl9uYW1lICdMaWdhc2VDeWNsaW5nUmVhY3Rpb25Bc3NlbWJseScgLS1maWxlX25hbWVfbWFwcGluZyAnL3RtcC90bXBzMzZhbmtzdS9maWxlcy9hL2EvMC9kYXRhc2V0X2FhMDM1Y2U5LWIzZWUtNGM0ZC1hNWMxLWUyNDUxYzQyOTdjMi5kYXQ6UkZQX0dGUF9wbGFzbWlkX0JPcy5mYSwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzQvYi9iL2RhdGFzZXRfNGJiMmJmNmEtYjM1MS00YTgwLWFiNDctZDRkNTZhZWZhMzhjLmRhdDpSRlBfR0ZQX3BsYXNtaWRfcGFydHMuZmEnIC0tZmlsZV9uYW1lX21hcHBpbmdfZG9tICcnIC0tdXNlX2ZpbGVfbmFtZXNfYXNfaWQgJ3RydWUnIC0tb3V0ZGlyX3NpbXVsYXRpb24gJ291dGRpcl96aXAnIC0tb3V0cHV0X3NpbXVsYXRpb24gJ291dHB1dF96aXAuemlwJyAtLWVuenltZSAnYXV0bycgLS10b3BvbG9neSAnY2lyY3VsYXInJiYgY3AgJ291dHB1dF96aXAuemlwJyAnL3RtcC90bXBzMzZhbmtzdS9qb2Jfd29ya2luZ19kaXJlY3RvcnkvMDAwLzIxL291dHB1dHMvZGF0YXNldF9iZDVjODhiOS0xZWZkLTQ1MDctYjg3NS0xM2RmZWJmZjlkNmEuZGF0JwogICAgICBgYGAKICAgICoqRXhpdCBDb2RlOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIDAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIEVycm9yOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzIgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzIgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6IDEwMCV84paI4paI4paI4paI4paI4paI4paI4paI4paI4paIfCAyLzIgWzAwOjAwPDAwOjAwLCAgMi4zNGl0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgT3V0cHV0OioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIFNpbXVsYXRpbmcgYXNzZW1ibHkgcGxhbiBhc3NhbWJseS4uLgogICAgICB7J2NhbmNlbGxlZF9hc3NlbWJsaWVzJzogMCwgJ2Vycm9yZWRfYXNzZW1ibGllcyc6IDIsICd2YWxpZF9hc3NlbWJsaWVzJzogMH0KICAgICAgR2VuZXJhdGluZyBhc3NlbWJsaWVzIHJlcG9ydHMuLi4KICAgICAgRmlsZXMgaW4gdGhlIHppcCBhcmNoaXZlOgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2FtYmx5X2FsbF9yZXF1aXJlZF9wYXJ0cy50eHQKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NhbWJseV9zaW11bGF0aW9uX3N0YXRzLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL1JlcG9ydC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NhbWJseV93YXJuaW5ncy5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NhbWJseV9lcnJvcnMuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYXNzYW1ibHlfc3VtbWFyeS5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9Db25zdHJ1Y3QyX2ZsYXdlZF9jb25uZWN0aW9uc19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9lcnJvci5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9mcmFnbWVudHNfaW5fQ29uc3RydWN0Ml9mbGF3ZWRfaG9tb2xvZ3lfbWl4L1JGUF9HRlBfQk9fMTAyNjhfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0Ml9mbGF3ZWQvZnJhZ21lbnRzX2luX0NvbnN0cnVjdDJfZmxhd2VkX2hvbW9sb2d5X21peC9SRlBfR0ZQX0JPXzEwMjQ0XzAxLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL2ZyYWdtZW50c19pbl9Db25zdHJ1Y3QyX2ZsYXdlZF9ob21vbG9neV9taXgvUkZQX0dGUF9CT18xMDI4MV8wMS5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9mcmFnbWVudHNfaW5fQ29uc3RydWN0Ml9mbGF3ZWRfaG9tb2xvZ3lfbWl4L3AxX21SRlAxLXBhcnQxXzAxLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL2ZyYWdtZW50c19pbl9Db25zdHJ1Y3QyX2ZsYXdlZF9ob21vbG9neV9taXgvcDNfbVJGUDEtcGFydDNfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0Ml9mbGF3ZWQvZnJhZ21lbnRzX2luX0NvbnN0cnVjdDJfZmxhd2VkX2hvbW9sb2d5X21peC9wN19iYWNrYm9uZV8wMS5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9mcmFnbWVudHNfaW5fQ29uc3RydWN0Ml9mbGF3ZWRfaG9tb2xvZ3lfbWl4L1JGUF9HRlBfQk9fMTAyMzJfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0Ml9mbGF3ZWQvZnJhZ21lbnRzX2luX0NvbnN0cnVjdDJfZmxhd2VkX2hvbW9sb2d5X21peC9wNF9zZkdGUC1wYXJ0MV8wMS5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9mcmFnbWVudHNfaW5fQ29uc3RydWN0Ml9mbGF3ZWRfaG9tb2xvZ3lfbWl4L3A1X3NmR0ZQLXBhcnQyXzAxLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL2ZyYWdtZW50c19pbl9Db25zdHJ1Y3QyX2ZsYXdlZF9ob21vbG9neV9taXgvUkZQX0dGUF9CT18xMDIzM18wMS5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9mcmFnbWVudHNfaW5fQ29uc3RydWN0Ml9mbGF3ZWRfaG9tb2xvZ3lfbWl4L3AyX21SRlAxLXBhcnQyXzAxLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL2ZyYWdtZW50c19pbl9Db25zdHJ1Y3QyX2ZsYXdlZF9ob21vbG9neV9taXgvcDZfc2ZHRlAtcGFydDNfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0Ml9mbGF3ZWQvcHJvdmlkZWRfcGFydHNfcGxvdHMvcDRfc2ZHRlAtcGFydDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0Ml9mbGF3ZWQvcHJvdmlkZWRfcGFydHNfcGxvdHMvUkZQX0dGUF9CT18xMDIzMy5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9wcm92aWRlZF9wYXJ0c19wbG90cy9SRlBfR0ZQX0JPXzEwMjMyLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL3A2X3NmR0ZQLXBhcnQzLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL3AxX21SRlAxLXBhcnQxLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL3AzX21SRlAxLXBhcnQzLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL3AyX21SRlAxLXBhcnQyLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL1JGUF9HRlBfQk9fMTAyNDQucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0Ml9mbGF3ZWQvcHJvdmlkZWRfcGFydHNfcGxvdHMvUkZQX0dGUF9CT18xMDI2OC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9wcm92aWRlZF9wYXJ0c19wbG90cy9SRlBfR0ZQX0JPXzEwMjgxLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL3A1X3NmR0ZQLXBhcnQyLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL3A3X2JhY2tib25lLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcDVfc2ZHRlAtcGFydDIuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL1JGUF9HRlBfQk9fMTAyMzMuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3A2X3NmR0ZQLXBhcnQzLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0Ml9mbGF3ZWQvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9SRlBfR0ZQX0JPXzEwMjMyLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0Ml9mbGF3ZWQvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wMl9tUkZQMS1wYXJ0Mi5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvUkZQX0dGUF9CT18xMDI2OC5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcDFfbVJGUDEtcGFydDEuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QyX2ZsYXdlZC9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3A3X2JhY2tib25lLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0Ml9mbGF3ZWQvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9SRlBfR0ZQX0JPXzEwMjgxLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0Ml9mbGF3ZWQvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9SRlBfR0ZQX0JPXzEwMjQ0LmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0Ml9mbGF3ZWQvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wM19tUkZQMS1wYXJ0My5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDJfZmxhd2VkL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcDRfc2ZHRlAtcGFydDEuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QxL2Vycm9yLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDEvQ29uc3RydWN0MV9jb25uZWN0aW9uc19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QxL3dhcm5pbmdzLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDEvcHJvdmlkZWRfcGFydHNfcGxvdHMvcDRfc2ZHRlAtcGFydDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9wcm92aWRlZF9wYXJ0c19wbG90cy9wNl9zZkdGUC1wYXJ0My5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QxL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL3AxX21SRlAxLXBhcnQxLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDEvcHJvdmlkZWRfcGFydHNfcGxvdHMvcDNfbVJGUDEtcGFydDMucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9wcm92aWRlZF9wYXJ0c19wbG90cy9wMl9tUkZQMS1wYXJ0Mi5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9Db25zdHJ1Y3QxL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL3A1X3NmR0ZQLXBhcnQyLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0NvbnN0cnVjdDEvcHJvdmlkZWRfcGFydHNfcGxvdHMvcDdfYmFja2JvbmUucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9mcmFnbWVudHNfaW5fQ29uc3RydWN0MV9ob21vbG9neV9taXgvcDFfbVJGUDEtcGFydDFfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9mcmFnbWVudHNfaW5fQ29uc3RydWN0MV9ob21vbG9neV9taXgvcDNfbVJGUDEtcGFydDNfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9mcmFnbWVudHNfaW5fQ29uc3RydWN0MV9ob21vbG9neV9taXgvcDdfYmFja2JvbmVfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9mcmFnbWVudHNfaW5fQ29uc3RydWN0MV9ob21vbG9neV9taXgvcDRfc2ZHRlAtcGFydDFfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9mcmFnbWVudHNfaW5fQ29uc3RydWN0MV9ob21vbG9neV9taXgvcDVfc2ZHRlAtcGFydDJfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9mcmFnbWVudHNfaW5fQ29uc3RydWN0MV9ob21vbG9neV9taXgvcDJfbVJGUDEtcGFydDJfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9mcmFnbWVudHNfaW5fQ29uc3RydWN0MV9ob21vbG9neV9taXgvcDZfc2ZHRlAtcGFydDNfMDEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3A1X3NmR0ZQLXBhcnQyLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3A2X3NmR0ZQLXBhcnQzLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3AyX21SRlAxLXBhcnQyLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3AxX21SRlAxLXBhcnQxLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3A3X2JhY2tib25lLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3AzX21SRlAxLXBhcnQzLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQ29uc3RydWN0MS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3A0X3NmR0ZQLXBhcnQxLmdiCgogICAgICBgYGAKICAgICoqVHJhY2ViYWNrOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBgYGAKICAgKipKb2IgUGFyYW1ldGVyczoqKgoKICAgKiAgIHwgSm9iIHBhcmFtZXRlciB8IFBhcmFtZXRlciB2YWx1ZSB8CiAgICAgICB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfAogICAgICAgfCBnZW5iYW5rXF9maWxlcyB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDMsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGRvbWVzdGljYXRlZFxfaW5wdXQgfCBgIE5vbmUgYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiTGlnYXNlQ3ljbGluZ1JlYWN0aW9uQXNzZW1ibHkiIGAgfAogICAgICAgfCB0b3BvbG9neSB8IGAgImNpcmN1bGFyIiBgIHwKICAgICAgIHwgYWR2IHwgYCB7ImVuenltZSI6ICJhdXRvIiwgInVzZV9maWxlX25hbWVzX2FzX2lkcyI6IHRydWV9IGAgfAogICAgICAgfCBjaHJvbUluZm8gfCBgICIvdG1wL3RtcHMzNmFua3N1L2dhbGF4eS1kZXYvdG9vbC1kYXRhL3NoYXJlZC91Y3NjL2Nocm9tLz8ubGVuIiBgIHwKICAgICAgIHwgZGJrZXkgfCBgICI/IiBgIHwKICAgICAgIHwgXF9cX2lucHV0XF9leHQgfCBgICJpbnB1dCIgYCB8CgoKCiAgICA8L2Rpdj48L2RldGFpbHM+CgoKKiA8ZGV0YWlscyBjbGFzcz0icmNvcm5lcnMgbGlnaHQtZ3JlZW4iPjxzdW1tYXJ5IGNsYXNzPSJsaWdodC1ncmVlbiI+JiM5OTg5OyBjbG9uaW5nX3NpbXVsYXRpb24gKFRlc3QgIyA0KTwvc3VtbWFyeT48ZGl2IGNsYXNzPSJwYWRkZWQiPgoKICAgICoqQ29tbWFuZCBMaW5lOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIG1rZGlyICdvdXRkaXJfemlwJyAmJiBweXRob24gJy9ob21lL3JraGFsZWQvZ2FsYXh5dG9vbHMvdG9vbHMvY2xvbmluZ19zaW11bGF0aW9uL2Nsb25pbmdfc2ltdWxhdGlvbi5weScgLS1wYXJ0c19maWxlcyAnL3RtcC90bXBzMzZhbmtzdS9maWxlcy8wLzkvZC9kYXRhc2V0XzA5ZGQxMmYxLWE1MjgtNGUyYS1hMWQzLWI5YjU3ZTdhMDJhMi5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy9iL2UvNi9kYXRhc2V0X2JlNjNjNWY2LTZjMTUtNDNjOS1hNDY3LTBmMDBjMzM5NWJjZi5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy8yL2UvMC9kYXRhc2V0XzJlMDM5MzBiLTNlOWYtNDViZS05NzUwLTQyNTYwZjM5Y2YxNC5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy81L2IvZC9kYXRhc2V0XzViZGJlMjdmLTY0MGYtNGRiMS1iYzdiLWZjZWRmNGIyNzM3YS5kYXQsL3RtcC90bXBzMzZhbmtzdS9maWxlcy9jL2QvNS9kYXRhc2V0X2NkNTNkODVhLTdjZWQtNGRhNS1iYzczLWViNGI3NGEyMDBlMy5kYXQnIC0tZG9tZXN0aWNhdGVkX3NlcSAnJyAtLWFzc2VtYmx5X2NzdiAnL3RtcC90bXBzMzZhbmtzdS9maWxlcy9lL2QvMy9kYXRhc2V0X2VkM2Y0Nzk3LTAwMDItNDZlMy1hMjQ1LTcwZWM5N2U1OTExOC5kYXQnIC0tYXNzZW1ibHlfcGxhbl9uYW1lICdCQVNJQ0Fzc2VtYmx5JyAtLWZpbGVfbmFtZV9tYXBwaW5nICcvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzAvOS9kL2RhdGFzZXRfMDlkZDEyZjEtYTUyOC00ZTJhLWExZDMtYjliNTdlN2EwMmEyLmRhdDpHRlAuZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy9iL2UvNi9kYXRhc2V0X2JlNjNjNWY2LTZjMTUtNDNjOS1hNDY3LTBmMDBjMzM5NWJjZi5kYXQ6cDE1QV9rYW4uZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy8yL2UvMC9kYXRhc2V0XzJlMDM5MzBiLTNlOWYtNDViZS05NzUwLTQyNTYwZjM5Y2YxNC5kYXQ6cHJvbW90ZXIuZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy81L2IvZC9kYXRhc2V0XzViZGJlMjdmLTY0MGYtNGRiMS1iYzdiLWZjZWRmNGIyNzM3YS5kYXQ6UkZQLmdiLC90bXAvdG1wczM2YW5rc3UvZmlsZXMvYy9kLzUvZGF0YXNldF9jZDUzZDg1YS03Y2VkLTRkYTUtYmM3My1lYjRiNzRhMjAwZTMuZGF0Om9saWdvcy5mYScgLS1maWxlX25hbWVfbWFwcGluZ19kb20gJycgLS11c2VfZmlsZV9uYW1lc19hc19pZCAndHJ1ZScgLS1vdXRkaXJfc2ltdWxhdGlvbiAnb3V0ZGlyX3ppcCcgLS1vdXRwdXRfc2ltdWxhdGlvbiAnb3V0cHV0X3ppcC56aXAnIC0tZW56eW1lICdhdXRvJyAtLXRvcG9sb2d5ICdjaXJjdWxhcicmJiBjcCAnb3V0cHV0X3ppcC56aXAnICcvdG1wL3RtcHMzNmFua3N1L2pvYl93b3JraW5nX2RpcmVjdG9yeS8wMDAvMjgvb3V0cHV0cy9kYXRhc2V0XzJjZTllODVkLWQ0ZTctNDEwNC04MzNmLTlmY2FjOTVlMmM2ZC5kYXQnCiAgICAgIGBgYAogICAgKipFeGl0IENvZGU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgMAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgRXJyb3I6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvMTAgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC84IFswMDowMDw/LCA/aXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAgNjIlfOKWiOKWiOKWiOKWiOKWiOKWiOKWjiAgIHwgNS84IFswMDowMDwwMDowMCwgNDkuOTVpdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIE91dHB1dDoqKgoKICAgICogYGBgY29uc29sZQogICAgICBTaW11bGF0aW5nIGFzc2VtYmx5IHBsYW4gYXNzYW1ibHkuLi4KICAgICAgeydjYW5jZWxsZWRfYXNzZW1ibGllcyc6IDIsICdlcnJvcmVkX2Fzc2VtYmxpZXMnOiA4LCAndmFsaWRfYXNzZW1ibGllcyc6IDB9CiAgICAgIEdlbmVyYXRpbmcgYXNzZW1ibGllcyByZXBvcnRzLi4uCiAgICAgIEZpbGVzIGluIHRoZSB6aXAgYXJjaGl2ZToKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NhbWJseV9hbGxfcmVxdWlyZWRfcGFydHMudHh0CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYXNzYW1ibHlfc2ltdWxhdGlvbl9zdGF0cy5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9SZXBvcnQucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYXNzYW1ibHlfY2FuY2VsbGVkX2Fzc2VtYmxpZXMuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYXNzYW1ibHlfZXJyb3JzLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2VtYmx5X3BsYW5fZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYXNzYW1ibHlfc3VtbWFyeS5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MTUEtUy9lcnJvci5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MTUEtUy9wcm92aWRlZF9wYXJ0c19wbG90cy9MTUEtU19md2QucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTE1BLVMvcHJvdmlkZWRfcGFydHNfcGxvdHMvTE1BLVNfYWRhcHRlci5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MTUEtUy9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0xNQS1TX2FkYXB0ZXIuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MTUEtUy9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0xNQS1TX2Z3ZC5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0wyUkJTLXhTL2Vycm9yLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0wyUkJTLXhTL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL0wyUkJTLXhTX2FkYXB0ZXIucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTDJSQlMteFMvcHJvdmlkZWRfcGFydHNfcGxvdHMvTDJSQlMteFNfZndkLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0wyUkJTLXhTL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvTDJSQlMteFNfZndkLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTDJSQlMteFMvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9MMlJCUy14U19hZGFwdGVyLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTDFSQlMteFMvZXJyb3IuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTDFSQlMteFMvcHJvdmlkZWRfcGFydHNfcGxvdHMvTDFSQlMteFNfYWRhcHRlci5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MMVJCUy14Uy9wcm92aWRlZF9wYXJ0c19wbG90cy9MMVJCUy14U19md2QucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTDFSQlMteFMvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9MMVJCUy14U19md2QuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MMVJCUy14Uy9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0wxUkJTLXhTX2FkYXB0ZXIuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MTUItUC9lcnJvci5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MTUItUC9wcm92aWRlZF9wYXJ0c19wbG90cy9MTUItUF9hZGFwdGVyLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0xNQi1QL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL0xNQi1QX2Z3ZC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MTUItUC9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0xNQi1QX2Z3ZC5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0xNQi1QL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvTE1CLVBfYWRhcHRlci5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0wxUkJTLTFQL2Vycm9yLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0wxUkJTLTFQL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL0wxUkJTLTFQX2Z3ZC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MMVJCUy0xUC9wcm92aWRlZF9wYXJ0c19wbG90cy9MMVJCUy0xUF9hZGFwdGVyLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0wxUkJTLTFQL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvTDFSQlMtMVBfYWRhcHRlci5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0wxUkJTLTFQL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvTDFSQlMtMVBfZndkLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTDJSQlMtMVAvZXJyb3IuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTDJSQlMtMVAvcHJvdmlkZWRfcGFydHNfcGxvdHMvTDJSQlMtMVBfZndkLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0wyUkJTLTFQL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL0wyUkJTLTFQX2FkYXB0ZXIucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTDJSQlMtMVAvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9MMlJCUy0xUF9hZGFwdGVyLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTDJSQlMtMVAvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9MMlJCUy0xUF9md2QuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MTUEtUC9lcnJvci5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MTUEtUC9wcm92aWRlZF9wYXJ0c19wbG90cy9MTUEtUF9md2QucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTE1BLVAvcHJvdmlkZWRfcGFydHNfcGxvdHMvTE1BLVBfYWRhcHRlci5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MTUEtUC9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0xNQS1QX2Z3ZC5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0xNQS1QL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvTE1BLVBfYWRhcHRlci5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0xNQi1TL2Vycm9yLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0xNQi1TL3Byb3ZpZGVkX3BhcnRzX3Bsb3RzL0xNQi1TX2Z3ZC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9MTUItUy9wcm92aWRlZF9wYXJ0c19wbG90cy9MTUItU19hZGFwdGVyLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0xNQi1TL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvTE1CLVNfZndkLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vTE1CLVMvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9MTUItU19hZGFwdGVyLmdiCgogICAgICBgYGAKICAgICoqVHJhY2ViYWNrOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBgYGAKICAgKipKb2IgUGFyYW1ldGVyczoqKgoKICAgKiAgIHwgSm9iIHBhcmFtZXRlciB8IFBhcmFtZXRlciB2YWx1ZSB8CiAgICAgICB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfAogICAgICAgfCBnZW5iYW5rXF9maWxlcyB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDQsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGRvbWVzdGljYXRlZFxfaW5wdXQgfCBgIE5vbmUgYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiQkFTSUNBc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1wczM2YW5rc3UvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgoqIDxkZXRhaWxzIGNsYXNzPSJyY29ybmVycyBsaWdodC1ncmVlbiI+PHN1bW1hcnkgY2xhc3M9ImxpZ2h0LWdyZWVuIj4mIzk5ODk7IGNsb25pbmdfc2ltdWxhdGlvbiAoVGVzdCAjIDUpPC9zdW1tYXJ5PjxkaXYgY2xhc3M9InBhZGRlZCI+CgogICAgKipDb21tYW5kIExpbmU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgbWtkaXIgJ291dGRpcl96aXAnICYmIHB5dGhvbiAnL2hvbWUvcmtoYWxlZC9nYWxheHl0b29scy90b29scy9jbG9uaW5nX3NpbXVsYXRpb24vY2xvbmluZ19zaW11bGF0aW9uLnB5JyAtLXBhcnRzX2ZpbGVzICcvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzQvOC9mL2RhdGFzZXRfNDhmMjQ2ZmItZGYzZC00YzY1LWE5OWUtY2MzMTRjOWEyZDIwLmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzUvMC9jL2RhdGFzZXRfNTBjYjMwOGQtNGViNS00ZDlkLWFlMDctMDExMTc5ZDg0YjJlLmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzEvMy9iL2RhdGFzZXRfMTNiNTE0ZDEtNzEwYy00NmVmLTliODMtOTM5YWNhZDcyMzc1LmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzMvMC9iL2RhdGFzZXRfMzBiZWY3YzMtZmVjYi00MGY3LWI0MzUtZGFmNzk0ZDQ1NmMxLmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzL2EvOC83L2RhdGFzZXRfYTg3ZDdiYTctMjA5Mi00NWUyLTlhZmYtODEzYmI1M2EwMmE2LmRhdCcgLS1kb21lc3RpY2F0ZWRfc2VxICcnIC0tYXNzZW1ibHlfY3N2ICcvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzcvZS82L2RhdGFzZXRfN2U2MjU5YmYtODY0Ni00NjkxLWI0MGQtZDkxYmJlNTJkNmM1LmRhdCcgLS1hc3NlbWJseV9wbGFuX25hbWUgJ0Jpb0JyaWNrU3RhbmRhcmRBc3NlbWJseScgLS1maWxlX25hbWVfbWFwcGluZyAnL3RtcC90bXBzMzZhbmtzdS9maWxlcy80LzgvZi9kYXRhc2V0XzQ4ZjI0NmZiLWRmM2QtNGM2NS1hOTllLWNjMzE0YzlhMmQyMC5kYXQ6QkJhX0UwMDQwX0dGUC5nYiwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzUvMC9jL2RhdGFzZXRfNTBjYjMwOGQtNGViNS00ZDlkLWFlMDctMDExMTc5ZDg0YjJlLmRhdDpCQmFfSjIzMTE5X3Byb20uZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy8xLzMvYi9kYXRhc2V0XzEzYjUxNGQxLTcxMGMtNDZlZi05YjgzLTkzOWFjYWQ3MjM3NS5kYXQ6QkJhX0oyMzExOV9wcm9tX2ZsYXdlZC5nYiwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzMvMC9iL2RhdGFzZXRfMzBiZWY3YzMtZmVjYi00MGY3LWI0MzUtZGFmNzk0ZDQ1NmMxLmRhdDpCQmFfSjYxMDQ4X3Rlcm0uZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy9hLzgvNy9kYXRhc2V0X2E4N2Q3YmE3LTIwOTItNDVlMi05YWZmLTgxM2JiNTNhMDJhNi5kYXQ6QkJhX0s2MTEwOTRfYmFyLmdiJyAtLWZpbGVfbmFtZV9tYXBwaW5nX2RvbSAnJyAtLXVzZV9maWxlX25hbWVzX2FzX2lkICd0cnVlJyAtLW91dGRpcl9zaW11bGF0aW9uICdvdXRkaXJfemlwJyAtLW91dHB1dF9zaW11bGF0aW9uICdvdXRwdXRfemlwLnppcCcgLS1lbnp5bWUgJ2F1dG8nIC0tdG9wb2xvZ3kgJ2NpcmN1bGFyJyYmIGNwICdvdXRwdXRfemlwLnppcCcgJy90bXAvdG1wczM2YW5rc3Uvam9iX3dvcmtpbmdfZGlyZWN0b3J5LzAwMC8zNS9vdXRwdXRzL2RhdGFzZXRfNjY0YTZhOTUtNGNlNi00Zjc0LWJlNTEtNzI4YTljYmQ1NWRhLmRhdCcKICAgICAgYGBgCiAgICAqKkV4aXQgQ29kZToqKgoKICAgICogYGBgY29uc29sZQogICAgICAwCiAgICAgIGBgYAogICAgKipTdGFuZGFyZCBFcnJvcjoqKgoKICAgICogYGBgY29uc29sZQogICAgICAKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC8zIFswMDowMDw/LCA/aXQvcywgbm93PU5vbmVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC8zIFswMDowMDw/LCA/aXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAgNjclfOKWiOKWiOKWiOKWiOKWiOKWiOKWiyAgIHwgMi8zIFswMDowMTwwMDowMCwgIDEuOTZpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6IDEwMCV84paI4paI4paI4paI4paI4paI4paI4paI4paI4paIfCAzLzMgWzAwOjAxPDAwOjAwLCAgMS41OWl0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgT3V0cHV0OioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIFNpbXVsYXRpbmcgYXNzZW1ibHkgcGxhbiBhc3NhbWJseS4uLgogICAgICB7J2NhbmNlbGxlZF9hc3NlbWJsaWVzJzogMCwgJ2Vycm9yZWRfYXNzZW1ibGllcyc6IDAsICd2YWxpZF9hc3NlbWJsaWVzJzogM30KICAgICAgR2VuZXJhdGluZyBhc3NlbWJsaWVzIHJlcG9ydHMuLi4KICAgICAgRmlsZXMgaW4gdGhlIHppcCBhcmNoaXZlOgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2FtYmx5X2FsbF9yZXF1aXJlZF9wYXJ0cy50eHQKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NhbWJseV9jb25zdHJ1Y3RzX2xldmVsXzIuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYXNzYW1ibHlfc2ltdWxhdGlvbl9zdGF0cy5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NhbWJseV9jb25zdHJ1Y3RzX2xldmVsXzEuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vUmVwb3J0LnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2VtYmx5X3BsYW5fZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYXNzYW1ibHlfc3VtbWFyeS5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DM19maW5hbC9DM19maW5hbF9DMV9wcm9tX2JhcmNvZGVfRStTX3Jlc3RyaWN0aW9uX3BhcnRzX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0MzX2ZpbmFsL0MzX2ZpbmFsX0MyX2dmcF90ZXJtX0UrWF9yZXN0cmljdGlvbl9jb25uZWN0aW9uc19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DM19maW5hbC9DM19maW5hbF9hc3NlbWJseV9taXhfY29ubmVjdGlvbnNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQzNfZmluYWwvQzNfZmluYWxfQzFfcHJvbV9iYXJjb2RlX0UrU19yZXN0cmljdGlvbl9jb25uZWN0aW9uc19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DM19maW5hbC9DM19maW5hbF9DMl9nZnBfdGVybV9FK1hfcmVzdHJpY3Rpb25fcGFydHNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQzNfZmluYWwvQzNfZmluYWxfYXNzZW1ibHlfbWl4X3BhcnRzX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0MzX2ZpbmFsL0MzX2ZpbmFsLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQzNfZmluYWwvQzNfZmluYWxfc3VtbWFyeS5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DM19maW5hbC9DM19maW5hbC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DM19maW5hbC9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0MxX3Byb21fYmFyY29kZS5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0MzX2ZpbmFsL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvQzJfZ2ZwX3Rlcm0uZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DMl9nZnBfdGVybS9DMl9nZnBfdGVybV9CQmFfRTAwNDBfR0ZQX0UrU19yZXN0cmljdGlvbl9wYXJ0c19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DMl9nZnBfdGVybS9DMl9nZnBfdGVybV9hc3NlbWJseV9taXhfcGFydHNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQzJfZ2ZwX3Rlcm0vQzJfZ2ZwX3Rlcm1fQkJhX0o2MTA0OF90ZXJtX0UrWF9yZXN0cmljdGlvbl9wYXJ0c19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DMl9nZnBfdGVybS9DMl9nZnBfdGVybS5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0MyX2dmcF90ZXJtL0MyX2dmcF90ZXJtX0JCYV9KNjEwNDhfdGVybV9FK1hfcmVzdHJpY3Rpb25fY29ubmVjdGlvbnNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQzJfZ2ZwX3Rlcm0vQzJfZ2ZwX3Rlcm1fYXNzZW1ibHlfbWl4X2Nvbm5lY3Rpb25zX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0MyX2dmcF90ZXJtL0MyX2dmcF90ZXJtX0JCYV9FMDA0MF9HRlBfRStTX3Jlc3RyaWN0aW9uX2Nvbm5lY3Rpb25zX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0MyX2dmcF90ZXJtL0MyX2dmcF90ZXJtLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0MyX2dmcF90ZXJtL0MyX2dmcF90ZXJtX3N1bW1hcnkuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQzJfZ2ZwX3Rlcm0vcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9CQmFfSjYxMDQ4X3Rlcm0uZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DMl9nZnBfdGVybS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0JCYV9FMDA0MF9HRlAuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hbGxfY29uc3RydWN0X3JlY29yZHMvQzFfcHJvbV9iYXJjb2RlLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYWxsX2NvbnN0cnVjdF9yZWNvcmRzL0MyX2dmcF90ZXJtLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYWxsX2NvbnN0cnVjdF9yZWNvcmRzL0MzX2ZpbmFsLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vcGFydF9yZWNvcmRzL0JCYV9KNjEwNDhfdGVybS5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9CQmFfSzYxMTA5NF9iYXIuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvQkJhX0UwMDQwX0dGUC5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9CQmFfSjIzMTE5X3Byb20uZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DMV9wcm9tX2JhcmNvZGUvQzFfcHJvbV9iYXJjb2RlX0JCYV9KMjMxMTlfcHJvbV9FK1hfcmVzdHJpY3Rpb25fcGFydHNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQzFfcHJvbV9iYXJjb2RlL0MxX3Byb21fYmFyY29kZS5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0MxX3Byb21fYmFyY29kZS9DMV9wcm9tX2JhcmNvZGVfYXNzZW1ibHlfbWl4X2Nvbm5lY3Rpb25zX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0MxX3Byb21fYmFyY29kZS9DMV9wcm9tX2JhcmNvZGVfQkJhX0s2MTEwOTRfYmFyX0UrU19yZXN0cmljdGlvbl9wYXJ0c19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DMV9wcm9tX2JhcmNvZGUvQzFfcHJvbV9iYXJjb2RlX0JCYV9LNjExMDk0X2Jhcl9FK1NfcmVzdHJpY3Rpb25fY29ubmVjdGlvbnNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQzFfcHJvbV9iYXJjb2RlL0MxX3Byb21fYmFyY29kZS5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9DMV9wcm9tX2JhcmNvZGUvQzFfcHJvbV9iYXJjb2RlX3N1bW1hcnkuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQzFfcHJvbV9iYXJjb2RlL0MxX3Byb21fYmFyY29kZV9hc3NlbWJseV9taXhfcGFydHNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vQzFfcHJvbV9iYXJjb2RlL0MxX3Byb21fYmFyY29kZV9CQmFfSjIzMTE5X3Byb21fRStYX3Jlc3RyaWN0aW9uX2Nvbm5lY3Rpb25zX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0MxX3Byb21fYmFyY29kZS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0JCYV9LNjExMDk0X2Jhci5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL0MxX3Byb21fYmFyY29kZS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL0JCYV9KMjMxMTlfcHJvbS5nYgoKICAgICAgYGBgCiAgICAqKlRyYWNlYmFjazoqKgoKICAgICogYGBgY29uc29sZQogICAgICAKICAgICAgYGBgCiAgICoqSm9iIFBhcmFtZXRlcnM6KioKCiAgICogICB8IEpvYiBwYXJhbWV0ZXIgfCBQYXJhbWV0ZXIgdmFsdWUgfAogICAgICAgfCAtLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tIHwKICAgICAgIHwgZ2VuYmFua1xfZmlsZXMgfCBgIHsidmFsdWVzIjogW3siaWQiOiA1LCAic3JjIjogImhkY2EifV19IGAgfAogICAgICAgfCBkb21lc3RpY2F0ZWRcX2lucHV0IHwgYCBOb25lIGAgfAogICAgICAgfCBhc3NlbWJseVxfcGxhblxfbmFtZSB8IGAgIkJpb0JyaWNrU3RhbmRhcmRBc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1wczM2YW5rc3UvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgoqIDxkZXRhaWxzIGNsYXNzPSJyY29ybmVycyBsaWdodC1ncmVlbiI+PHN1bW1hcnkgY2xhc3M9ImxpZ2h0LWdyZWVuIj4mIzk5ODk7IGNsb25pbmdfc2ltdWxhdGlvbiAoVGVzdCAjIDYpPC9zdW1tYXJ5PjxkaXYgY2xhc3M9InBhZGRlZCI+CgogICAgKipDb21tYW5kIExpbmU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgbWtkaXIgJ291dGRpcl96aXAnICYmIHB5dGhvbiAnL2hvbWUvcmtoYWxlZC9nYWxheHl0b29scy90b29scy9jbG9uaW5nX3NpbXVsYXRpb24vY2xvbmluZ19zaW11bGF0aW9uLnB5JyAtLXBhcnRzX2ZpbGVzICcvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzIvYi8zL2RhdGFzZXRfMmIzNGY5NWItMjc3Ni00MGE3LWFjMGEtYWJkYjNkMmIxNTFmLmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzgvMS81L2RhdGFzZXRfODE1MzUzMjktNDJkMC00ZTlkLWE3MTMtYmViODAzM2UyZGI5LmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzL2QvYi9iL2RhdGFzZXRfZGJiYzg0MDgtNjNiNi00MjY1LTg4NzgtOTQ5NDJjN2IyMDE2LmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzQvMS9kL2RhdGFzZXRfNDFkOTRiOWMtZjJmMC00MjUzLTg4YmItODk2YjI2ZmRiN2EwLmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzQvOC9hL2RhdGFzZXRfNDhhNjMwZmMtZWE0Yi00YzE5LThiMGItZmI3OGRiNGJmZjdkLmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzQvNS85L2RhdGFzZXRfNDU5ZDg1ZDgtNDg2OS00ZDAzLWJkMmEtZDA4M2U0ZWNmODE4LmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzEvYi8xL2RhdGFzZXRfMWIxODk2MjctMThjZC00YzdjLThkMTktNDYzNzE0MjA1NzRhLmRhdCcgLS1kb21lc3RpY2F0ZWRfc2VxICcvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzYvYS8yL2RhdGFzZXRfNmEyMjg3YmQtMTI4MS00Yzk5LTg5YTYtZTRhZjk0NGMyNzJhLmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzIvYy85L2RhdGFzZXRfMmM5NDI0NDMtOWZhOS00OGE5LWJmMzUtMmY4YzIyNTg5NjdiLmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzL2IvZS9jL2RhdGFzZXRfYmVjZmJmZjktMTVmMS00ODMwLWIxOTItOTNlNzg5MmYzNzFkLmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzgvNy82L2RhdGFzZXRfODc2ZDYxNjAtZmNkNS00OWUxLWFlNTgtYWE4ZDMwYzk0ZTA5LmRhdCwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzMvYS84L2RhdGFzZXRfM2E4MTE2OWQtNDU2OS00YzZkLTk0MTctYTNjNTkyNGY4NjQ5LmRhdCcgLS1hc3NlbWJseV9jc3YgJy90bXAvdG1wczM2YW5rc3UvZmlsZXMvNC9hL2IvZGF0YXNldF80YWJiMjFhOS1jYjc3LTRmMGMtOWE3Ni0zYzAxZmQ2NjJkMmEuZGF0JyAtLWFzc2VtYmx5X3BsYW5fbmFtZSAnVHlwZTJzUmVzdHJpY3Rpb25Bc3NlbWJseScgLS1maWxlX25hbWVfbWFwcGluZyAnL3RtcC90bXBzMzZhbmtzdS9maWxlcy8yL2IvMy9kYXRhc2V0XzJiMzRmOTViLTI3NzYtNDBhNy1hYzBhLWFiZGIzZDJiMTUxZi5kYXQ6cGFydF9BLmdiLC90bXAvdG1wczM2YW5rc3UvZmlsZXMvOC8xLzUvZGF0YXNldF84MTUzNTMyOS00MmQwLTRlOWQtYTcxMy1iZWI4MDMzZTJkYjkuZGF0OnBhcnRfQi5nYiwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzL2QvYi9iL2RhdGFzZXRfZGJiYzg0MDgtNjNiNi00MjY1LTg4NzgtOTQ5NDJjN2IyMDE2LmRhdDpwYXJ0X0MuZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy80LzEvZC9kYXRhc2V0XzQxZDk0YjljLWYyZjAtNDI1My04OGJiLTg5NmIyNmZkYjdhMC5kYXQ6cGFydF9ELmdiLC90bXAvdG1wczM2YW5rc3UvZmlsZXMvNC84L2EvZGF0YXNldF80OGE2MzBmYy1lYTRiLTRjMTktOGIwYi1mYjc4ZGI0YmZmN2QuZGF0OnBhcnRfRS5nYiwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzLzQvNS85L2RhdGFzZXRfNDU5ZDg1ZDgtNDg2OS00ZDAzLWJkMmEtZDA4M2U0ZWNmODE4LmRhdDpwYXJ0X0YuZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy8xL2IvMS9kYXRhc2V0XzFiMTg5NjI3LTE4Y2QtNGM3Yy04ZDE5LTQ2MzcxNDIwNTc0YS5kYXQ6cGFydF9HLmdiJyAtLWZpbGVfbmFtZV9tYXBwaW5nX2RvbSAnL3RtcC90bXBzMzZhbmtzdS9maWxlcy82L2EvMi9kYXRhc2V0XzZhMjI4N2JkLTEyODEtNGM5OS04OWE2LWU0YWY5NDRjMjcyYS5kYXQ6cGFydF9ILmdiLC90bXAvdG1wczM2YW5rc3UvZmlsZXMvMi9jLzkvZGF0YXNldF8yYzk0MjQ0My05ZmE5LTQ4YTktYmYzNS0yZjhjMjI1ODk2N2IuZGF0OnBhcnRfSS5nYiwvdG1wL3RtcHMzNmFua3N1L2ZpbGVzL2IvZS9jL2RhdGFzZXRfYmVjZmJmZjktMTVmMS00ODMwLWIxOTItOTNlNzg5MmYzNzFkLmRhdDpwYXJ0X0ouZ2IsL3RtcC90bXBzMzZhbmtzdS9maWxlcy84LzcvNi9kYXRhc2V0Xzg3NmQ2MTYwLWZjZDUtNDllMS1hZTU4LWFhOGQzMGM5NGUwOS5kYXQ6cGFydF9LLmdiLC90bXAvdG1wczM2YW5rc3UvZmlsZXMvMy9hLzgvZGF0YXNldF8zYTgxMTY5ZC00NTY5LTRjNmQtOTQxNy1hM2M1OTI0Zjg2NDkuZGF0OnBhcnRfTC5nYicgLS11c2VfZmlsZV9uYW1lc19hc19pZCAndHJ1ZScgLS1vdXRkaXJfc2ltdWxhdGlvbiAnb3V0ZGlyX3ppcCcgLS1vdXRwdXRfc2ltdWxhdGlvbiAnb3V0cHV0X3ppcC56aXAnIC0tZW56eW1lICdhdXRvJyAtLXRvcG9sb2d5ICdjaXJjdWxhcicmJiBjcCAnb3V0cHV0X3ppcC56aXAnICcvdG1wL3RtcHMzNmFua3N1L2pvYl93b3JraW5nX2RpcmVjdG9yeS8wMDAvNDkvb3V0cHV0cy9kYXRhc2V0Xzg5MWQyMDQ0LTUwMmItNGU0Yi1iMzk0LTU3NWM5ZTQyYTM2Zi5kYXQnCiAgICAgIGBgYAogICAgKipFeGl0IENvZGU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgMAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgRXJyb3I6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogIDUwJXzilojilojilojilojiloggICAgIHwgMi80IFswMDowMDwwMDowMCwgIDIuNDZpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA3NSV84paI4paI4paI4paI4paI4paI4paI4paMICB8IDMvNCBbMDA6MDE8MDA6MDAsICAyLjI0aXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAxMDAlfOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiHwgNC80IFswMDowMjwwMDowMCwgIDEuODRpdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIE91dHB1dDoqKgoKICAgICogYGBgY29uc29sZQogICAgICBTaW11bGF0aW5nIGFzc2VtYmx5IHBsYW4gYXNzYW1ibHkuLi4KICAgICAgeydjYW5jZWxsZWRfYXNzZW1ibGllcyc6IDAsICdlcnJvcmVkX2Fzc2VtYmxpZXMnOiAwLCAndmFsaWRfYXNzZW1ibGllcyc6IDR9CiAgICAgIEdlbmVyYXRpbmcgYXNzZW1ibGllcyByZXBvcnRzLi4uCiAgICAgIEZpbGVzIGluIHRoZSB6aXAgYXJjaGl2ZToKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NhbWJseV9hbGxfcmVxdWlyZWRfcGFydHMudHh0CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYXNzYW1ibHlfY29uc3RydWN0c19sZXZlbF8yLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2FtYmx5X3NpbXVsYXRpb25fc3RhdHMuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYXNzYW1ibHlfY29uc3RydWN0c19sZXZlbF8xLmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL1JlcG9ydC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9hc3NlbWJseV9wbGFuX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2Fzc2FtYmx5X3N1bW1hcnkuY3N2CiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzMvY29uc3RydWN0XzNfdHlwZTJzX21peF9wYXJ0c19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9jb25zdHJ1Y3RfM19zdW1tYXJ5LmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8zL2NvbnN0cnVjdF8zX3R5cGUyc19taXhfY29ubmVjdGlvbnNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzMvY29uc3RydWN0XzMuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9jb25zdHJ1Y3RfMy5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3BhcnRfTC5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8zL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9LLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzMvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0ouZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMy9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL2NvbnN0cnVjdF8xLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYWxsX2NvbnN0cnVjdF9yZWNvcmRzL2NvbnN0cnVjdF8yLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYWxsX2NvbnN0cnVjdF9yZWNvcmRzL2NvbnN0cnVjdF8zLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYWxsX2NvbnN0cnVjdF9yZWNvcmRzL2NvbnN0cnVjdF80LmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vYWxsX2NvbnN0cnVjdF9yZWNvcmRzL2NvbnN0cnVjdF8xLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvY29uc3RydWN0XzFfdHlwZTJzX21peF9jb25uZWN0aW9uc19ncmFwaC5wZGYKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMS9jb25zdHJ1Y3RfMV9zdW1tYXJ5LmNzdgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8xL2NvbnN0cnVjdF8xX3R5cGUyc19taXhfcGFydHNfZ3JhcGgucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvY29uc3RydWN0XzEucGRmCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvY29uc3RydWN0XzEuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3BhcnRfRi5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8xL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9CLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0QuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMS9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3BhcnRfQS5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8xL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9DLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzEvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0UuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvcGFydF9MLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vcGFydF9yZWNvcmRzL3BhcnRfRi5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9wYXJ0X0IuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvcGFydF9LLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vcGFydF9yZWNvcmRzL3BhcnRfRC5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9wYXJ0X0EuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvcGFydF9DLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vcGFydF9yZWNvcmRzL3BhcnRfRy5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9wYXJ0X0kuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9wYXJ0X3JlY29yZHMvcGFydF9FLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vcGFydF9yZWNvcmRzL3BhcnRfSi5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL3BhcnRfcmVjb3Jkcy9wYXJ0X0guZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMi9jb25zdHJ1Y3RfMl90eXBlMnNfbWl4X3BhcnRzX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8yL2NvbnN0cnVjdF8yLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8yL2NvbnN0cnVjdF8yLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzIvY29uc3RydWN0XzJfc3VtbWFyeS5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMi9jb25zdHJ1Y3RfMl90eXBlMnNfbWl4X2Nvbm5lY3Rpb25zX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8yL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9GLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzIvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0EuZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfMi9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL3BhcnRfRy5nYgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF8yL3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9JLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzIvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0guZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfNC9jb25zdHJ1Y3RfNF90eXBlMnNfbWl4X3BhcnRzX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF80L2NvbnN0cnVjdF80LnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF80L2NvbnN0cnVjdF80LmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvY29uc3RydWN0XzRfc3VtbWFyeS5jc3YKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfNC9jb25zdHJ1Y3RfNF90eXBlMnNfbWl4X2Nvbm5lY3Rpb25zX2dyYXBoLnBkZgogICAgICBhc3NhbWJseV9zaW11bGF0aW9uL2NvbnN0cnVjdF80L3Byb3ZpZGVkX3BhcnRzX3JlY29yZHMvcGFydF9MLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0suZ2IKICAgICAgYXNzYW1ibHlfc2ltdWxhdGlvbi9jb25zdHJ1Y3RfNC9wcm92aWRlZF9wYXJ0c19yZWNvcmRzL2NvbnN0cnVjdF8yLmdiCiAgICAgIGFzc2FtYmx5X3NpbXVsYXRpb24vY29uc3RydWN0XzQvcHJvdmlkZWRfcGFydHNfcmVjb3Jkcy9wYXJ0X0ouZ2IKCiAgICAgIGBgYAogICAgKipUcmFjZWJhY2s6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGBgYAogICAqKkpvYiBQYXJhbWV0ZXJzOioqCgogICAqICAgfCBKb2IgcGFyYW1ldGVyIHwgUGFyYW1ldGVyIHZhbHVlIHwKICAgICAgIHwgLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLSB8CiAgICAgICB8IGdlbmJhbmtcX2ZpbGVzIHwgYCB7InZhbHVlcyI6IFt7ImlkIjogNywgInNyYyI6ICJoZGNhIn1dfSBgIHwKICAgICAgIHwgZG9tZXN0aWNhdGVkXF9pbnB1dCB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDYsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiVHlwZTJzUmVzdHJpY3Rpb25Bc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1wczM2YW5rc3UvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgo8L2RldGFpbHM+Cg=='));
+        target.innerHTML = md.render(atob('IyMgVGVzdCBTdW1tYXJ5Cgo8ZGl2IGNsYXNzPSJwcm9ncmVzcyI+CiAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIHByb2dyZXNzLWJhci1zdWNjZXNzIiBzdHlsZT0id2lkdGg6IDEwMC4wJSIgYXJpYS12YWx1ZW5vdz0iNiIgYXJpYS12YWx1ZW1pbj0iMCIgYXJpYS12YWx1ZW1heD0iNiIgZGF0YS10b2dnbGU9InRvb2x0aXAiIHRpdGxlPSI2IFBhc3NlZCI+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIHByb2dyZXNzLWJhci13YXJuaW5nIiBzdHlsZT0id2lkdGg6IDAuMCUiIGFyaWEtdmFsdWVub3c9IjAiIGFyaWEtdmFsdWVtaW49IjAiIGFyaWEtdmFsdWVtYXg9IjYiIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiB0aXRsZT0iMCBTa2lwcGVkIj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIgcHJvZ3Jlc3MtYmFyLWRhbmdlciIgc3R5bGU9IndpZHRoOiAwLjAlIiBhcmlhLXZhbHVlbm93PSIwIiBhcmlhLXZhbHVlbWluPSIwIiBhcmlhLXZhbHVlbWF4PSI2IiB0aXRsZT0iMCBGYWlsZWQgb3IgRXJyb3JlZCI+CiAgPC9kaXY+CjwvZGl2PgoKfCBUZXN0IFN0YXRlIHwgQ291bnQgfAp8IC0tLS0tLS0tLS0gfCAtLS0tLSB8CnwgVG90YWwgICAgICB8IDYgfAp8IFBhc3NlZCAgICAgfCA2IHwKfCBFcnJvciAgICAgIHwgMCB8CnwgRmFpbHVyZSAgICB8IDAgfAp8IFNraXBwZWQgICAgfCAwIHwKCgo8ZGV0YWlscyA+PHN1bW1hcnk+UGFzc2VkIFRlc3RzPC9zdW1tYXJ5PgoKKiA8ZGV0YWlscyBjbGFzcz0icmNvcm5lcnMgbGlnaHQtZ3JlZW4iPjxzdW1tYXJ5IGNsYXNzPSJsaWdodC1ncmVlbiI+JiM5OTg5OyBjbG9uaW5nX3NpbXVsYXRpb24gKFRlc3QgIyAxKTwvc3VtbWFyeT48ZGl2IGNsYXNzPSJwYWRkZWQiPgoKICAgICoqQ29tbWFuZCBMaW5lOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIG1rZGlyICdvdXRkaXJfemlwJyAmJiBta2RpciAnb3V0ZGlyX2diJyAmJiBweXRob24gJy9ob21lL3JraGFsZWQvZ2FsYXh5dG9vbHMvdG9vbHMvY2xvbmluZ19zaW11bGF0aW9uL2Nsb25pbmdfc2ltdWxhdGlvbi5weScgLS1wYXJ0c19maWxlcyAnL3RtcC90bXBoMHI4N3NrcS9maWxlcy9lL2IvNC9kYXRhc2V0X2ViNDBlZTVlLTUxNTUtNDMwMy05MjMwLTk0OTI2YzYzZGFhZi5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy80L2EvOS9kYXRhc2V0XzRhOWExMzM1LWM1MjgtNDM4ZC1iODBhLTYyYjk2MDhkYmFkZS5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy83L2MvYS9kYXRhc2V0XzdjYWE0ZjZhLWE3MzQtNDYxZi1hYzM4LWM5NTQ0MjYzMmM1YS5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy85LzMvMS9kYXRhc2V0XzkzMTI3ZGI4LTI0MDktNDU0NC05M2U1LTYyNDNhNmQyNTNlZi5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy9lLzIvOS9kYXRhc2V0X2UyOTI5MTllLTBhOWEtNDAzYS1hYTZiLTMwYWE1NTI4ODFiZC5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy80L2EvNy9kYXRhc2V0XzRhN2MxZTZiLWY0NzAtNDE0ZS1iNTMzLTczOTBmNzRhNjRmYy5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy83L2YvMy9kYXRhc2V0XzdmM2RmOTA0LTBiYzUtNDU2YS04Njc5LWNjNThkMDZlMjE0ZS5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy9hLzYvMC9kYXRhc2V0X2E2MDU3MzhjLTliNmQtNDRjNi04OTFlLTAxY2I3MjllYTRkYy5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy8xLzAvYy9kYXRhc2V0XzEwYzM1NDA1LWFmMjUtNDFkMy05ZGJkLWE0MTFiNGI2NWI5OC5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy8xLzgvNC9kYXRhc2V0XzE4NGQ5OTA0LTM3MDUtNDI0ZS1iM2Y3LWU1YjdiNzczODgwZi5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy80L2EvMS9kYXRhc2V0XzRhMTBkMzkyLTZlYmMtNDEzYy1iZDcxLWRiNDI1YWExYWEwYS5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy84LzMvNS9kYXRhc2V0XzgzNTg3OGM2LTg0ZjEtNDY1Yy1iMzRlLWQxNzc4ODVlNTY3ZC5kYXQnIC0tZG9tZXN0aWNhdGVkX3NlcSAnJyAtLWFzc2VtYmx5X2NzdiAnL3RtcC90bXBoMHI4N3NrcS9maWxlcy9hLzUvMi9kYXRhc2V0X2E1MjI5NzJhLWM5OTQtNGVjMC1hMTMwLWUzZTFlMTAxZDEyNi5kYXQnIC0tYXNzZW1ibHlfcGxhbl9uYW1lICdUeXBlMnNSZXN0cmljdGlvbkFzc2VtYmx5JyAtLWZpbGVfbmFtZV9tYXBwaW5nICcvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2UvYi80L2RhdGFzZXRfZWI0MGVlNWUtNTE1NS00MzAzLTkyMzAtOTQ5MjZjNjNkYWFmLmRhdDpwYXJ0X0EuZ2IsL3RtcC90bXBoMHI4N3NrcS9maWxlcy80L2EvOS9kYXRhc2V0XzRhOWExMzM1LWM1MjgtNDM4ZC1iODBhLTYyYjk2MDhkYmFkZS5kYXQ6cGFydF9CLmdiLC90bXAvdG1waDByODdza3EvZmlsZXMvNy9jL2EvZGF0YXNldF83Y2FhNGY2YS1hNzM0LTQ2MWYtYWMzOC1jOTU0NDI2MzJjNWEuZGF0OnBhcnRfQy5nYiwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzkvMy8xL2RhdGFzZXRfOTMxMjdkYjgtMjQwOS00NTQ0LTkzZTUtNjI0M2E2ZDI1M2VmLmRhdDpwYXJ0X0QuZ2IsL3RtcC90bXBoMHI4N3NrcS9maWxlcy9lLzIvOS9kYXRhc2V0X2UyOTI5MTllLTBhOWEtNDAzYS1hYTZiLTMwYWE1NTI4ODFiZC5kYXQ6cGFydF9FLmdiLC90bXAvdG1waDByODdza3EvZmlsZXMvNC9hLzcvZGF0YXNldF80YTdjMWU2Yi1mNDcwLTQxNGUtYjUzMy03MzkwZjc0YTY0ZmMuZGF0OnBhcnRfRi5nYiwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzcvZi8zL2RhdGFzZXRfN2YzZGY5MDQtMGJjNS00NTZhLTg2NzktY2M1OGQwNmUyMTRlLmRhdDpwYXJ0X0cuZ2IsL3RtcC90bXBoMHI4N3NrcS9maWxlcy9hLzYvMC9kYXRhc2V0X2E2MDU3MzhjLTliNmQtNDRjNi04OTFlLTAxY2I3MjllYTRkYy5kYXQ6cGFydF9ILmdiLC90bXAvdG1waDByODdza3EvZmlsZXMvMS8wL2MvZGF0YXNldF8xMGMzNTQwNS1hZjI1LTQxZDMtOWRiZC1hNDExYjRiNjViOTguZGF0OnBhcnRfSS5nYiwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzEvOC80L2RhdGFzZXRfMTg0ZDk5MDQtMzcwNS00MjRlLWIzZjctZTViN2I3NzM4ODBmLmRhdDpwYXJ0X0ouZ2IsL3RtcC90bXBoMHI4N3NrcS9maWxlcy80L2EvMS9kYXRhc2V0XzRhMTBkMzkyLTZlYmMtNDEzYy1iZDcxLWRiNDI1YWExYWEwYS5kYXQ6cGFydF9LLmdiLC90bXAvdG1waDByODdza3EvZmlsZXMvOC8zLzUvZGF0YXNldF84MzU4NzhjNi04NGYxLTQ2NWMtYjM0ZS1kMTc3ODg1ZTU2N2QuZGF0OnBhcnRfTC5nYicgLS1maWxlX25hbWVfbWFwcGluZ19kb20gJycgLS11c2VfZmlsZV9uYW1lc19hc19pZCAndHJ1ZScgLS1vdXRkaXJfc2ltdWxhdGlvbiAnb3V0ZGlyX3ppcCcgLS1vdXRkaXJfZ2IgJ291dGRpcl9nYicgLS1vdXRwdXRfc2ltdWxhdGlvbiAnb3V0cHV0X3ppcC56aXAnIC0tZW56eW1lICdhdXRvJyAtLXRvcG9sb2d5ICdjaXJjdWxhcicmJiBjcCAnb3V0cHV0X3ppcC56aXAnICcvdG1wL3RtcGgwcjg3c2txL2pvYl93b3JraW5nX2RpcmVjdG9yeS8wMDAvMTQvb3V0cHV0cy9kYXRhc2V0XzEwOWQyYWMxLTcxNmUtNGM0Ny1hMmI5LTI1ZTlkNjhjZDliNy5kYXQnCiAgICAgIGBgYAogICAgKipFeGl0IENvZGU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgMAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgRXJyb3I6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogIDUwJXzilojilojilojilojiloggICAgIHwgMi80IFswMDowMDwwMDowMCwgIDIuNDFpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA3NSV84paI4paI4paI4paI4paI4paI4paI4paMICB8IDMvNCBbMDA6MDE8MDA6MDAsICAyLjI1aXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAxMDAlfOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiHwgNC80IFswMDowMjwwMDowMCwgIDEuODJpdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIE91dHB1dDoqKgoKICAgICogYGBgY29uc29sZQogICAgICBTaW11bGF0aW5nIGFzc2VtYmx5IHBsYW4gYXNzYW1ibHkuLi4KICAgICAgeydjYW5jZWxsZWRfYXNzZW1ibGllcyc6IDAsICdlcnJvcmVkX2Fzc2VtYmxpZXMnOiAwLCAndmFsaWRfYXNzZW1ibGllcyc6IDR9CiAgICAgIEdlbmVyYXRpbmcgYXNzZW1ibGllcyByZXBvcnRzLi4uCgogICAgICBgYGAKICAgICoqVHJhY2ViYWNrOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBgYGAKICAgKipKb2IgUGFyYW1ldGVyczoqKgoKICAgKiAgIHwgSm9iIHBhcmFtZXRlciB8IFBhcmFtZXRlciB2YWx1ZSB8CiAgICAgICB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfAogICAgICAgfCBnZW5iYW5rXF9maWxlcyB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDEsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGRvbWVzdGljYXRlZFxfaW5wdXQgfCBgIE5vbmUgYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiVHlwZTJzUmVzdHJpY3Rpb25Bc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1waDByODdza3EvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgoqIDxkZXRhaWxzIGNsYXNzPSJyY29ybmVycyBsaWdodC1ncmVlbiI+PHN1bW1hcnkgY2xhc3M9ImxpZ2h0LWdyZWVuIj4mIzk5ODk7IGNsb25pbmdfc2ltdWxhdGlvbiAoVGVzdCAjIDIpPC9zdW1tYXJ5PjxkaXYgY2xhc3M9InBhZGRlZCI+CgogICAgKipDb21tYW5kIExpbmU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgbWtkaXIgJ291dGRpcl96aXAnICYmIG1rZGlyICdvdXRkaXJfZ2InICYmIHB5dGhvbiAnL2hvbWUvcmtoYWxlZC9nYWxheHl0b29scy90b29scy9jbG9uaW5nX3NpbXVsYXRpb24vY2xvbmluZ19zaW11bGF0aW9uLnB5JyAtLXBhcnRzX2ZpbGVzICcvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2YvMi9lL2RhdGFzZXRfZjJlODQwNmMtZmRiNy00YjMwLWFhNzQtMjAyYjkzMjkyYTI2LmRhdCcgLS1kb21lc3RpY2F0ZWRfc2VxICcnIC0tYXNzZW1ibHlfY3N2ICcvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzUvNy85L2RhdGFzZXRfNTc5YjEzZTYtZjE0ZC00MDFjLTg4ZWUtYjI1ZWQzYmY0MmRjLmRhdCcgLS1hc3NlbWJseV9wbGFuX25hbWUgJ0dpYnNvbkFzc2VtYmx5JyAtLWZpbGVfbmFtZV9tYXBwaW5nICcvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2YvMi9lL2RhdGFzZXRfZjJlODQwNmMtZmRiNy00YjMwLWFhNzQtMjAyYjkzMjkyYTI2LmRhdDpnaWJzb25fc2VxdWVuY2VzLmZhJyAtLWZpbGVfbmFtZV9tYXBwaW5nX2RvbSAnJyAtLXVzZV9maWxlX25hbWVzX2FzX2lkICd0cnVlJyAtLW91dGRpcl9zaW11bGF0aW9uICdvdXRkaXJfemlwJyAtLW91dGRpcl9nYiAnb3V0ZGlyX2diJyAtLW91dHB1dF9zaW11bGF0aW9uICdvdXRwdXRfemlwLnppcCcgLS1lbnp5bWUgJ2F1dG8nIC0tdG9wb2xvZ3kgJ2NpcmN1bGFyJyYmIGNwICdvdXRwdXRfemlwLnppcCcgJy90bXAvdG1waDByODdza3Evam9iX3dvcmtpbmdfZGlyZWN0b3J5LzAwMC8xNy9vdXRwdXRzL2RhdGFzZXRfMzZlMDQ1N2YtMWRhOC00NTZhLTg2YzktMjBlYTI0MjY4OGJjLmRhdCcKICAgICAgYGBgCiAgICAqKkV4aXQgQ29kZToqKgoKICAgICogYGBgY29uc29sZQogICAgICAwCiAgICAgIGBgYAogICAgKipTdGFuZGFyZCBFcnJvcjoqKgoKICAgICogYGBgY29uc29sZQogICAgICAKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC81IFswMDowMDw/LCA/aXQvcywgbm93PU5vbmVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC81IFswMDowMDw/LCA/aXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAgNDAlfOKWiOKWiOKWiOKWiCAgICAgIHwgMi81IFswMDowMDwwMDowMCwgIDQuNzFpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA2MCV84paI4paI4paI4paI4paI4paIICAgIHwgMy81IFswMDowMDwwMDowMCwgIDQuNzlpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA4MCV84paI4paI4paI4paI4paI4paI4paI4paIICB8IDQvNSBbMDA6MDA8MDA6MDAsICA0LjYwaXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAxMDAlfOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiHwgNS81IFswMDowMTwwMDowMCwgIDMuNzBpdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIE91dHB1dDoqKgoKICAgICogYGBgY29uc29sZQogICAgICBTaW11bGF0aW5nIGFzc2VtYmx5IHBsYW4gYXNzYW1ibHkuLi4KICAgICAgeydjYW5jZWxsZWRfYXNzZW1ibGllcyc6IDAsICdlcnJvcmVkX2Fzc2VtYmxpZXMnOiAyLCAndmFsaWRfYXNzZW1ibGllcyc6IDN9CiAgICAgIEdlbmVyYXRpbmcgYXNzZW1ibGllcyByZXBvcnRzLi4uCgogICAgICBgYGAKICAgICoqVHJhY2ViYWNrOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBgYGAKICAgKipKb2IgUGFyYW1ldGVyczoqKgoKICAgKiAgIHwgSm9iIHBhcmFtZXRlciB8IFBhcmFtZXRlciB2YWx1ZSB8CiAgICAgICB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfAogICAgICAgfCBnZW5iYW5rXF9maWxlcyB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDMsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGRvbWVzdGljYXRlZFxfaW5wdXQgfCBgIE5vbmUgYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiR2lic29uQXNzZW1ibHkiIGAgfAogICAgICAgfCB0b3BvbG9neSB8IGAgImNpcmN1bGFyIiBgIHwKICAgICAgIHwgYWR2IHwgYCB7ImVuenltZSI6ICJhdXRvIiwgInVzZV9maWxlX25hbWVzX2FzX2lkcyI6IHRydWV9IGAgfAogICAgICAgfCBjaHJvbUluZm8gfCBgICIvdG1wL3RtcGgwcjg3c2txL2dhbGF4eS1kZXYvdG9vbC1kYXRhL3NoYXJlZC91Y3NjL2Nocm9tLz8ubGVuIiBgIHwKICAgICAgIHwgZGJrZXkgfCBgICI/IiBgIHwKICAgICAgIHwgXF9cX2lucHV0XF9leHQgfCBgICJpbnB1dCIgYCB8CgoKCiAgICA8L2Rpdj48L2RldGFpbHM+CgoKKiA8ZGV0YWlscyBjbGFzcz0icmNvcm5lcnMgbGlnaHQtZ3JlZW4iPjxzdW1tYXJ5IGNsYXNzPSJsaWdodC1ncmVlbiI+JiM5OTg5OyBjbG9uaW5nX3NpbXVsYXRpb24gKFRlc3QgIyAzKTwvc3VtbWFyeT48ZGl2IGNsYXNzPSJwYWRkZWQiPgoKICAgICoqQ29tbWFuZCBMaW5lOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIG1rZGlyICdvdXRkaXJfemlwJyAmJiBta2RpciAnb3V0ZGlyX2diJyAmJiBweXRob24gJy9ob21lL3JraGFsZWQvZ2FsYXh5dG9vbHMvdG9vbHMvY2xvbmluZ19zaW11bGF0aW9uL2Nsb25pbmdfc2ltdWxhdGlvbi5weScgLS1wYXJ0c19maWxlcyAnL3RtcC90bXBoMHI4N3NrcS9maWxlcy8xLzUvNy9kYXRhc2V0XzE1NzQxNjgwLTk5NjMtNGIzZC05NzllLTc5MmJlMzcyNTZmMi5kYXQsL3RtcC90bXBoMHI4N3NrcS9maWxlcy9kLzMvZC9kYXRhc2V0X2QzZGU3NmIzLTM3OTMtNDZmYS05OTBlLTk3MGUxYmNiMmE3Mi5kYXQnIC0tZG9tZXN0aWNhdGVkX3NlcSAnJyAtLWFzc2VtYmx5X2NzdiAnL3RtcC90bXBoMHI4N3NrcS9maWxlcy8yLzAvZS9kYXRhc2V0XzIwZWI4OGIxLTBmYzUtNDc2Yi1hNDA5LWRhN2Y1OTg3ODBiNi5kYXQnIC0tYXNzZW1ibHlfcGxhbl9uYW1lICdMaWdhc2VDeWNsaW5nUmVhY3Rpb25Bc3NlbWJseScgLS1maWxlX25hbWVfbWFwcGluZyAnL3RtcC90bXBoMHI4N3NrcS9maWxlcy8xLzUvNy9kYXRhc2V0XzE1NzQxNjgwLTk5NjMtNGIzZC05NzllLTc5MmJlMzcyNTZmMi5kYXQ6UkZQX0dGUF9wbGFzbWlkX0JPcy5mYSwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2QvMy9kL2RhdGFzZXRfZDNkZTc2YjMtMzc5My00NmZhLTk5MGUtOTcwZTFiY2IyYTcyLmRhdDpSRlBfR0ZQX3BsYXNtaWRfcGFydHMuZmEnIC0tZmlsZV9uYW1lX21hcHBpbmdfZG9tICcnIC0tdXNlX2ZpbGVfbmFtZXNfYXNfaWQgJ3RydWUnIC0tb3V0ZGlyX3NpbXVsYXRpb24gJ291dGRpcl96aXAnIC0tb3V0ZGlyX2diICdvdXRkaXJfZ2InIC0tb3V0cHV0X3NpbXVsYXRpb24gJ291dHB1dF96aXAuemlwJyAtLWVuenltZSAnYXV0bycgLS10b3BvbG9neSAnY2lyY3VsYXInJiYgY3AgJ291dHB1dF96aXAuemlwJyAnL3RtcC90bXBoMHI4N3NrcS9qb2Jfd29ya2luZ19kaXJlY3RvcnkvMDAwLzIxL291dHB1dHMvZGF0YXNldF8wZmZkZGEyNC1iODBmLTRkYjUtOGMxMC0xNDY3ZDM0ZWIzYTguZGF0JwogICAgICBgYGAKICAgICoqRXhpdCBDb2RlOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIDAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIEVycm9yOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzIgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzIgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6IDEwMCV84paI4paI4paI4paI4paI4paI4paI4paI4paI4paIfCAyLzIgWzAwOjAwPDAwOjAwLCAgMi40Mml0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgT3V0cHV0OioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIFNpbXVsYXRpbmcgYXNzZW1ibHkgcGxhbiBhc3NhbWJseS4uLgogICAgICB7J2NhbmNlbGxlZF9hc3NlbWJsaWVzJzogMCwgJ2Vycm9yZWRfYXNzZW1ibGllcyc6IDIsICd2YWxpZF9hc3NlbWJsaWVzJzogMH0KICAgICAgR2VuZXJhdGluZyBhc3NlbWJsaWVzIHJlcG9ydHMuLi4KCiAgICAgIGBgYAogICAgKipUcmFjZWJhY2s6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGBgYAogICAqKkpvYiBQYXJhbWV0ZXJzOioqCgogICAqICAgfCBKb2IgcGFyYW1ldGVyIHwgUGFyYW1ldGVyIHZhbHVlIHwKICAgICAgIHwgLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLSB8CiAgICAgICB8IGdlbmJhbmtcX2ZpbGVzIHwgYCB7InZhbHVlcyI6IFt7ImlkIjogNSwgInNyYyI6ICJoZGNhIn1dfSBgIHwKICAgICAgIHwgZG9tZXN0aWNhdGVkXF9pbnB1dCB8IGAgTm9uZSBgIHwKICAgICAgIHwgYXNzZW1ibHlcX3BsYW5cX25hbWUgfCBgICJMaWdhc2VDeWNsaW5nUmVhY3Rpb25Bc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1waDByODdza3EvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgoqIDxkZXRhaWxzIGNsYXNzPSJyY29ybmVycyBsaWdodC1ncmVlbiI+PHN1bW1hcnkgY2xhc3M9ImxpZ2h0LWdyZWVuIj4mIzk5ODk7IGNsb25pbmdfc2ltdWxhdGlvbiAoVGVzdCAjIDQpPC9zdW1tYXJ5PjxkaXYgY2xhc3M9InBhZGRlZCI+CgogICAgKipDb21tYW5kIExpbmU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgbWtkaXIgJ291dGRpcl96aXAnICYmIG1rZGlyICdvdXRkaXJfZ2InICYmIHB5dGhvbiAnL2hvbWUvcmtoYWxlZC9nYWxheHl0b29scy90b29scy9jbG9uaW5nX3NpbXVsYXRpb24vY2xvbmluZ19zaW11bGF0aW9uLnB5JyAtLXBhcnRzX2ZpbGVzICcvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzQvZi8wL2RhdGFzZXRfNGYwZDQyNTgtMmY1MC00YTRlLTkyNzEtNThlOGMyNzI4NTZlLmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzIvNy9mL2RhdGFzZXRfMjdmNjdjN2EtNWUzOC00MTAzLWEwMGItYTlkODIzNGI2Njg2LmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzQvZS84L2RhdGFzZXRfNGU4ODBhZmEtM2YzNy00M2E0LTk4MmUtMzZkNzUwYWFiM2QzLmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzMvNy80L2RhdGFzZXRfMzc0NmJjYzYtZWUwYy00OTM2LTgzMmYtY2UyOWY4MDg0MzBkLmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzcvOC84L2RhdGFzZXRfNzg4ZWJkN2ItNjI0Ny00Zjk2LWEzZDMtM2MzMzA2YzIxMGEwLmRhdCcgLS1kb21lc3RpY2F0ZWRfc2VxICcnIC0tYXNzZW1ibHlfY3N2ICcvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2UvOS83L2RhdGFzZXRfZTk3MWE2Y2YtYjEzZS00YTY1LWE3OGQtYWEyMmEwZWExZmZmLmRhdCcgLS1hc3NlbWJseV9wbGFuX25hbWUgJ0JBU0lDQXNzZW1ibHknIC0tZmlsZV9uYW1lX21hcHBpbmcgJy90bXAvdG1waDByODdza3EvZmlsZXMvNC9mLzAvZGF0YXNldF80ZjBkNDI1OC0yZjUwLTRhNGUtOTI3MS01OGU4YzI3Mjg1NmUuZGF0OkdGUC5nYiwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzIvNy9mL2RhdGFzZXRfMjdmNjdjN2EtNWUzOC00MTAzLWEwMGItYTlkODIzNGI2Njg2LmRhdDpwMTVBX2thbi5nYiwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzQvZS84L2RhdGFzZXRfNGU4ODBhZmEtM2YzNy00M2E0LTk4MmUtMzZkNzUwYWFiM2QzLmRhdDpwcm9tb3Rlci5nYiwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzMvNy80L2RhdGFzZXRfMzc0NmJjYzYtZWUwYy00OTM2LTgzMmYtY2UyOWY4MDg0MzBkLmRhdDpSRlAuZ2IsL3RtcC90bXBoMHI4N3NrcS9maWxlcy83LzgvOC9kYXRhc2V0Xzc4OGViZDdiLTYyNDctNGY5Ni1hM2QzLTNjMzMwNmMyMTBhMC5kYXQ6b2xpZ29zLmZhJyAtLWZpbGVfbmFtZV9tYXBwaW5nX2RvbSAnJyAtLXVzZV9maWxlX25hbWVzX2FzX2lkICd0cnVlJyAtLW91dGRpcl9zaW11bGF0aW9uICdvdXRkaXJfemlwJyAtLW91dGRpcl9nYiAnb3V0ZGlyX2diJyAtLW91dHB1dF9zaW11bGF0aW9uICdvdXRwdXRfemlwLnppcCcgLS1lbnp5bWUgJ2F1dG8nIC0tdG9wb2xvZ3kgJ2NpcmN1bGFyJyYmIGNwICdvdXRwdXRfemlwLnppcCcgJy90bXAvdG1waDByODdza3Evam9iX3dvcmtpbmdfZGlyZWN0b3J5LzAwMC8yOC9vdXRwdXRzL2RhdGFzZXRfNWUwZmFhNTEtMTQxYy00OWQxLWJhODQtY2E4YWJhMjc1MDhjLmRhdCcKICAgICAgYGBgCiAgICAqKkV4aXQgQ29kZToqKgoKICAgICogYGBgY29uc29sZQogICAgICAwCiAgICAgIGBgYAogICAgKipTdGFuZGFyZCBFcnJvcjoqKgoKICAgICogYGBgY29uc29sZQogICAgICAKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC8xMCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzggWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA2MiV84paI4paI4paI4paI4paI4paI4paOICAgfCA1LzggWzAwOjAwPDAwOjAwLCA0OS43MGl0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgT3V0cHV0OioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIFNpbXVsYXRpbmcgYXNzZW1ibHkgcGxhbiBhc3NhbWJseS4uLgogICAgICB7J2NhbmNlbGxlZF9hc3NlbWJsaWVzJzogMiwgJ2Vycm9yZWRfYXNzZW1ibGllcyc6IDgsICd2YWxpZF9hc3NlbWJsaWVzJzogMH0KICAgICAgR2VuZXJhdGluZyBhc3NlbWJsaWVzIHJlcG9ydHMuLi4KCiAgICAgIGBgYAogICAgKipUcmFjZWJhY2s6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGBgYAogICAqKkpvYiBQYXJhbWV0ZXJzOioqCgogICAqICAgfCBKb2IgcGFyYW1ldGVyIHwgUGFyYW1ldGVyIHZhbHVlIHwKICAgICAgIHwgLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLSB8CiAgICAgICB8IGdlbmJhbmtcX2ZpbGVzIHwgYCB7InZhbHVlcyI6IFt7ImlkIjogNywgInNyYyI6ICJoZGNhIn1dfSBgIHwKICAgICAgIHwgZG9tZXN0aWNhdGVkXF9pbnB1dCB8IGAgTm9uZSBgIHwKICAgICAgIHwgYXNzZW1ibHlcX3BsYW5cX25hbWUgfCBgICJCQVNJQ0Fzc2VtYmx5IiBgIHwKICAgICAgIHwgdG9wb2xvZ3kgfCBgICJjaXJjdWxhciIgYCB8CiAgICAgICB8IGFkdiB8IGAgeyJlbnp5bWUiOiAiYXV0byIsICJ1c2VfZmlsZV9uYW1lc19hc19pZHMiOiB0cnVlfSBgIHwKICAgICAgIHwgY2hyb21JbmZvIHwgYCAiL3RtcC90bXBoMHI4N3NrcS9nYWxheHktZGV2L3Rvb2wtZGF0YS9zaGFyZWQvdWNzYy9jaHJvbS8/LmxlbiIgYCB8CiAgICAgICB8IGRia2V5IHwgYCAiPyIgYCB8CiAgICAgICB8IFxfXF9pbnB1dFxfZXh0IHwgYCAiaW5wdXQiIGAgfAoKCgogICAgPC9kaXY+PC9kZXRhaWxzPgoKCiogPGRldGFpbHMgY2xhc3M9InJjb3JuZXJzIGxpZ2h0LWdyZWVuIj48c3VtbWFyeSBjbGFzcz0ibGlnaHQtZ3JlZW4iPiYjOTk4OTsgY2xvbmluZ19zaW11bGF0aW9uIChUZXN0ICMgNSk8L3N1bW1hcnk+PGRpdiBjbGFzcz0icGFkZGVkIj4KCiAgICAqKkNvbW1hbmQgTGluZToqKgoKICAgICogYGBgY29uc29sZQogICAgICBta2RpciAnb3V0ZGlyX3ppcCcgJiYgbWtkaXIgJ291dGRpcl9nYicgJiYgcHl0aG9uICcvaG9tZS9ya2hhbGVkL2dhbGF4eXRvb2xzL3Rvb2xzL2Nsb25pbmdfc2ltdWxhdGlvbi9jbG9uaW5nX3NpbXVsYXRpb24ucHknIC0tcGFydHNfZmlsZXMgJy90bXAvdG1waDByODdza3EvZmlsZXMvNy83LzMvZGF0YXNldF83NzNiZTQyOC0yZDMwLTRiOTUtOTg5NC1kMzc1ODYzNGEzZDAuZGF0LC90bXAvdG1waDByODdza3EvZmlsZXMvYi9hL2MvZGF0YXNldF9iYWM2NzNmNS0wNzRjLTQ4MTAtOTk0OS01OWQzYjIyOGQ4M2MuZGF0LC90bXAvdG1waDByODdza3EvZmlsZXMvZS81L2IvZGF0YXNldF9lNWI4ZGZkMC02ZTgxLTQ3ZTQtYjg5OS0wODk3NmQwYTE3MjQuZGF0LC90bXAvdG1waDByODdza3EvZmlsZXMvMS81LzgvZGF0YXNldF8xNThjYmViYi02OWZjLTQzMzMtYjc4My1lOTE3MWI1MzI0ZDYuZGF0LC90bXAvdG1waDByODdza3EvZmlsZXMvYS81L2IvZGF0YXNldF9hNWI2YWU4Yi0xMDY4LTQxNmYtYjBhYy0xYzQ0ZTI5OWNiODcuZGF0JyAtLWRvbWVzdGljYXRlZF9zZXEgJycgLS1hc3NlbWJseV9jc3YgJy90bXAvdG1waDByODdza3EvZmlsZXMvNC9lL2QvZGF0YXNldF80ZWQ2MDUwMy0zYjlmLTQyMDQtYThlOS0wYjk2Zjc2YjFlNDkuZGF0JyAtLWFzc2VtYmx5X3BsYW5fbmFtZSAnQmlvQnJpY2tTdGFuZGFyZEFzc2VtYmx5JyAtLWZpbGVfbmFtZV9tYXBwaW5nICcvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzcvNy8zL2RhdGFzZXRfNzczYmU0MjgtMmQzMC00Yjk1LTk4OTQtZDM3NTg2MzRhM2QwLmRhdDpCQmFfRTAwNDBfR0ZQLmdiLC90bXAvdG1waDByODdza3EvZmlsZXMvYi9hL2MvZGF0YXNldF9iYWM2NzNmNS0wNzRjLTQ4MTAtOTk0OS01OWQzYjIyOGQ4M2MuZGF0OkJCYV9KMjMxMTlfcHJvbS5nYiwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2UvNS9iL2RhdGFzZXRfZTViOGRmZDAtNmU4MS00N2U0LWI4OTktMDg5NzZkMGExNzI0LmRhdDpCQmFfSjIzMTE5X3Byb21fZmxhd2VkLmdiLC90bXAvdG1waDByODdza3EvZmlsZXMvMS81LzgvZGF0YXNldF8xNThjYmViYi02OWZjLTQzMzMtYjc4My1lOTE3MWI1MzI0ZDYuZGF0OkJCYV9KNjEwNDhfdGVybS5nYiwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2EvNS9iL2RhdGFzZXRfYTViNmFlOGItMTA2OC00MTZmLWIwYWMtMWM0NGUyOTljYjg3LmRhdDpCQmFfSzYxMTA5NF9iYXIuZ2InIC0tZmlsZV9uYW1lX21hcHBpbmdfZG9tICcnIC0tdXNlX2ZpbGVfbmFtZXNfYXNfaWQgJ3RydWUnIC0tb3V0ZGlyX3NpbXVsYXRpb24gJ291dGRpcl96aXAnIC0tb3V0ZGlyX2diICdvdXRkaXJfZ2InIC0tb3V0cHV0X3NpbXVsYXRpb24gJ291dHB1dF96aXAuemlwJyAtLWVuenltZSAnYXV0bycgLS10b3BvbG9neSAnY2lyY3VsYXInJiYgY3AgJ291dHB1dF96aXAuemlwJyAnL3RtcC90bXBoMHI4N3NrcS9qb2Jfd29ya2luZ19kaXJlY3RvcnkvMDAwLzM1L291dHB1dHMvZGF0YXNldF81Nzc2Y2NkNy01ZGNhLTRmMjEtYjI4OC05YzE1YTBiOWNkY2EuZGF0JwogICAgICBgYGAKICAgICoqRXhpdCBDb2RlOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIDAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIEVycm9yOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzMgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzMgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA2NyV84paI4paI4paI4paI4paI4paI4paLICAgfCAyLzMgWzAwOjAxPDAwOjAwLCAgMS45NGl0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogMTAwJXzilojilojilojilojilojilojilojilojilojiloh8IDMvMyBbMDA6MDE8MDA6MDAsICAxLjU4aXQvcywgbm93PU5vbmVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgIGBgYAogICAgKipTdGFuZGFyZCBPdXRwdXQ6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgU2ltdWxhdGluZyBhc3NlbWJseSBwbGFuIGFzc2FtYmx5Li4uCiAgICAgIHsnY2FuY2VsbGVkX2Fzc2VtYmxpZXMnOiAwLCAnZXJyb3JlZF9hc3NlbWJsaWVzJzogMCwgJ3ZhbGlkX2Fzc2VtYmxpZXMnOiAzfQogICAgICBHZW5lcmF0aW5nIGFzc2VtYmxpZXMgcmVwb3J0cy4uLgoKICAgICAgYGBgCiAgICAqKlRyYWNlYmFjazoqKgoKICAgICogYGBgY29uc29sZQogICAgICAKICAgICAgYGBgCiAgICoqSm9iIFBhcmFtZXRlcnM6KioKCiAgICogICB8IEpvYiBwYXJhbWV0ZXIgfCBQYXJhbWV0ZXIgdmFsdWUgfAogICAgICAgfCAtLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tIHwKICAgICAgIHwgZ2VuYmFua1xfZmlsZXMgfCBgIHsidmFsdWVzIjogW3siaWQiOiA5LCAic3JjIjogImhkY2EifV19IGAgfAogICAgICAgfCBkb21lc3RpY2F0ZWRcX2lucHV0IHwgYCBOb25lIGAgfAogICAgICAgfCBhc3NlbWJseVxfcGxhblxfbmFtZSB8IGAgIkJpb0JyaWNrU3RhbmRhcmRBc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1waDByODdza3EvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgoqIDxkZXRhaWxzIGNsYXNzPSJyY29ybmVycyBsaWdodC1ncmVlbiI+PHN1bW1hcnkgY2xhc3M9ImxpZ2h0LWdyZWVuIj4mIzk5ODk7IGNsb25pbmdfc2ltdWxhdGlvbiAoVGVzdCAjIDYpPC9zdW1tYXJ5PjxkaXYgY2xhc3M9InBhZGRlZCI+CgogICAgKipDb21tYW5kIExpbmU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgbWtkaXIgJ291dGRpcl96aXAnICYmIG1rZGlyICdvdXRkaXJfZ2InICYmIHB5dGhvbiAnL2hvbWUvcmtoYWxlZC9nYWxheHl0b29scy90b29scy9jbG9uaW5nX3NpbXVsYXRpb24vY2xvbmluZ19zaW11bGF0aW9uLnB5JyAtLXBhcnRzX2ZpbGVzICcvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2IvYy9kL2RhdGFzZXRfYmNkMzExYWEtNjlkYi00ZjJhLTlkMDQtOTBmMzRjZDc4YTZmLmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzAvNC85L2RhdGFzZXRfMDQ5OTMxYmEtNjAwYS00NmQ2LWE3M2UtYWY2YmQzZjU0NWUzLmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzgvNi8wL2RhdGFzZXRfODYwZTkzNGYtMzFmNi00YWM2LTllYWMtZmQzYWJmMDMxYjA4LmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2EvYS82L2RhdGFzZXRfYWE2ZWNkOGEtMTBiOC00MTZhLTk1ZWMtYmZiZTFmYTgxZDIxLmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzMvZC85L2RhdGFzZXRfM2Q5N2UzMzctNzM4OC00ZmFiLWE2YzMtN2NiOTlmMzcxZjg0LmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2IvNC81L2RhdGFzZXRfYjQ1MDMxZjgtNzFkYS00MzY1LTk1NjAtYjgyN2FhMWQ2Nzk0LmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzkvZS8yL2RhdGFzZXRfOWUyMTQ1NWMtYjEyNC00YzAxLTg1MjQtOTQ5ZmYxNmI1NzBlLmRhdCcgLS1kb21lc3RpY2F0ZWRfc2VxICcvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2EvZi9lL2RhdGFzZXRfYWZlNDEyNmMtOWNjMC00NWVjLWE3ZDQtMzc4MTZjYjIxMzJkLmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2YvYS84L2RhdGFzZXRfZmE4YTdlOWEtZmE0MC00ZTlmLWE1MDgtMjYxZmQ4NDQxMjkyLmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzcvZC9kL2RhdGFzZXRfN2RkYjQ0YTctZGE2ZC00MjE1LThkMTEtMWJhMDFjNGY2NTE2LmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2IvZi9mL2RhdGFzZXRfYmZmNThhMWItZTY5ZS00Y2I0LWIzNDQtNzliYTg4MDBhYzAzLmRhdCwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2EvZi84L2RhdGFzZXRfYWY4MDY2OTEtNzAyMi00YmYyLWE0MmItNzQzNzA0MmNlZTM3LmRhdCcgLS1hc3NlbWJseV9jc3YgJy90bXAvdG1waDByODdza3EvZmlsZXMvYy82LzUvZGF0YXNldF9jNjUyYmVmMS1mMDczLTQzMWMtOWU1Yi05NTZhNThlODVkMjIuZGF0JyAtLWFzc2VtYmx5X3BsYW5fbmFtZSAnVHlwZTJzUmVzdHJpY3Rpb25Bc3NlbWJseScgLS1maWxlX25hbWVfbWFwcGluZyAnL3RtcC90bXBoMHI4N3NrcS9maWxlcy9iL2MvZC9kYXRhc2V0X2JjZDMxMWFhLTY5ZGItNGYyYS05ZDA0LTkwZjM0Y2Q3OGE2Zi5kYXQ6cGFydF9BLmdiLC90bXAvdG1waDByODdza3EvZmlsZXMvMC80LzkvZGF0YXNldF8wNDk5MzFiYS02MDBhLTQ2ZDYtYTczZS1hZjZiZDNmNTQ1ZTMuZGF0OnBhcnRfQi5nYiwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzgvNi8wL2RhdGFzZXRfODYwZTkzNGYtMzFmNi00YWM2LTllYWMtZmQzYWJmMDMxYjA4LmRhdDpwYXJ0X0MuZ2IsL3RtcC90bXBoMHI4N3NrcS9maWxlcy9hL2EvNi9kYXRhc2V0X2FhNmVjZDhhLTEwYjgtNDE2YS05NWVjLWJmYmUxZmE4MWQyMS5kYXQ6cGFydF9ELmdiLC90bXAvdG1waDByODdza3EvZmlsZXMvMy9kLzkvZGF0YXNldF8zZDk3ZTMzNy03Mzg4LTRmYWItYTZjMy03Y2I5OWYzNzFmODQuZGF0OnBhcnRfRS5nYiwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzL2IvNC81L2RhdGFzZXRfYjQ1MDMxZjgtNzFkYS00MzY1LTk1NjAtYjgyN2FhMWQ2Nzk0LmRhdDpwYXJ0X0YuZ2IsL3RtcC90bXBoMHI4N3NrcS9maWxlcy85L2UvMi9kYXRhc2V0XzllMjE0NTVjLWIxMjQtNGMwMS04NTI0LTk0OWZmMTZiNTcwZS5kYXQ6cGFydF9HLmdiJyAtLWZpbGVfbmFtZV9tYXBwaW5nX2RvbSAnL3RtcC90bXBoMHI4N3NrcS9maWxlcy9hL2YvZS9kYXRhc2V0X2FmZTQxMjZjLTljYzAtNDVlYy1hN2Q0LTM3ODE2Y2IyMTMyZC5kYXQ6cGFydF9ILmdiLC90bXAvdG1waDByODdza3EvZmlsZXMvZi9hLzgvZGF0YXNldF9mYThhN2U5YS1mYTQwLTRlOWYtYTUwOC0yNjFmZDg0NDEyOTIuZGF0OnBhcnRfSS5nYiwvdG1wL3RtcGgwcjg3c2txL2ZpbGVzLzcvZC9kL2RhdGFzZXRfN2RkYjQ0YTctZGE2ZC00MjE1LThkMTEtMWJhMDFjNGY2NTE2LmRhdDpwYXJ0X0ouZ2IsL3RtcC90bXBoMHI4N3NrcS9maWxlcy9iL2YvZi9kYXRhc2V0X2JmZjU4YTFiLWU2OWUtNGNiNC1iMzQ0LTc5YmE4ODAwYWMwMy5kYXQ6cGFydF9LLmdiLC90bXAvdG1waDByODdza3EvZmlsZXMvYS9mLzgvZGF0YXNldF9hZjgwNjY5MS03MDIyLTRiZjItYTQyYi03NDM3MDQyY2VlMzcuZGF0OnBhcnRfTC5nYicgLS11c2VfZmlsZV9uYW1lc19hc19pZCAndHJ1ZScgLS1vdXRkaXJfc2ltdWxhdGlvbiAnb3V0ZGlyX3ppcCcgLS1vdXRkaXJfZ2IgJ291dGRpcl9nYicgLS1vdXRwdXRfc2ltdWxhdGlvbiAnb3V0cHV0X3ppcC56aXAnIC0tZW56eW1lICdhdXRvJyAtLXRvcG9sb2d5ICdjaXJjdWxhcicmJiBjcCAnb3V0cHV0X3ppcC56aXAnICcvdG1wL3RtcGgwcjg3c2txL2pvYl93b3JraW5nX2RpcmVjdG9yeS8wMDAvNDkvb3V0cHV0cy9kYXRhc2V0X2E4ODM3MGFhLTRkMzYtNDg2Ny1iMGQ2LTYxM2NjNTllZDAxYS5kYXQnCiAgICAgIGBgYAogICAgKipFeGl0IENvZGU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgMAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgRXJyb3I6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogIDUwJXzilojilojilojilojiloggICAgIHwgMi80IFswMDowMDwwMDowMCwgIDIuNDZpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA3NSV84paI4paI4paI4paI4paI4paI4paI4paMICB8IDMvNCBbMDA6MDE8MDA6MDAsICAyLjI1aXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAxMDAlfOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiHwgNC80IFswMDowMjwwMDowMCwgIDEuODRpdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIE91dHB1dDoqKgoKICAgICogYGBgY29uc29sZQogICAgICBTaW11bGF0aW5nIGFzc2VtYmx5IHBsYW4gYXNzYW1ibHkuLi4KICAgICAgeydjYW5jZWxsZWRfYXNzZW1ibGllcyc6IDAsICdlcnJvcmVkX2Fzc2VtYmxpZXMnOiAwLCAndmFsaWRfYXNzZW1ibGllcyc6IDR9CiAgICAgIEdlbmVyYXRpbmcgYXNzZW1ibGllcyByZXBvcnRzLi4uCgogICAgICBgYGAKICAgICoqVHJhY2ViYWNrOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBgYGAKICAgKipKb2IgUGFyYW1ldGVyczoqKgoKICAgKiAgIHwgSm9iIHBhcmFtZXRlciB8IFBhcmFtZXRlciB2YWx1ZSB8CiAgICAgICB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfAogICAgICAgfCBnZW5iYW5rXF9maWxlcyB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDEyLCAic3JjIjogImhkY2EifV19IGAgfAogICAgICAgfCBkb21lc3RpY2F0ZWRcX2lucHV0IHwgYCB7InZhbHVlcyI6IFt7ImlkIjogMTEsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiVHlwZTJzUmVzdHJpY3Rpb25Bc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1waDByODdza3EvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgo8L2RldGFpbHM+Cg=='));
     </script>
   </body>
 </html>
\ No newline at end of file
--- a/output.json	Fri May 16 11:32:06 2025 +0000
+++ b/output.json	Fri May 16 12:40:59 2025 +0000
@@ -11,93 +11,93 @@
                 "inputs": {
                     "adv|use_file_names_as_ids": true,
                     "assembly_csv": {
-                        "id": "a2e8f3fd1611e7f5",
+                        "id": "c02153e44a10e06a",
                         "src": "hda"
                     },
                     "assembly_plan_name": "Type2sRestrictionAssembly",
                     "genbank_files": {
-                        "id": "1d1943aa60deb628",
+                        "id": "a7025157dd5d3039",
                         "src": "hdca"
                     },
                     "topology": "circular"
                 },
                 "job": {
-                    "command_line": "mkdir 'outdir_zip' && python '/home/rkhaled/galaxytools/tools/cloning_simulation/cloning_simulation.py' --parts_files '/tmp/tmps36anksu/files/6/a/4/dataset_6a407f29-14a2-4358-8781-97a5a60006bf.dat,/tmp/tmps36anksu/files/9/c/0/dataset_9c05120b-2a93-4298-a718-2db482dec9e0.dat,/tmp/tmps36anksu/files/e/9/d/dataset_e9dd6c4a-5d1c-48d6-b072-bb67929590f5.dat,/tmp/tmps36anksu/files/c/2/a/dataset_c2a67b9c-bd0d-483b-b229-1f396bc8c275.dat,/tmp/tmps36anksu/files/5/3/d/dataset_53dc6b3e-3d2b-4fb7-b279-8b7204ae8d00.dat,/tmp/tmps36anksu/files/4/0/f/dataset_40fa89b4-5e49-467e-aa6a-d4b8c9b8a8b0.dat,/tmp/tmps36anksu/files/1/4/b/dataset_14b815cb-038e-4836-bb4e-3f049395271c.dat,/tmp/tmps36anksu/files/3/2/7/dataset_32719970-8009-4818-a623-ba980af84d70.dat,/tmp/tmps36anksu/files/6/8/e/dataset_68e30a2d-a44d-40e6-a619-efa1e8cd6e4b.dat,/tmp/tmps36anksu/files/2/3/c/dataset_23c06fae-96cc-4ff8-9e23-111139ce1a92.dat,/tmp/tmps36anksu/files/d/2/9/dataset_d29c16a7-2470-418e-a8f1-1da7c5372dde.dat,/tmp/tmps36anksu/files/2/9/0/dataset_290bfdf4-f595-42f1-a2f0-0f9a9d8e71df.dat' --domesticated_seq '' --assembly_csv '/tmp/tmps36anksu/files/4/2/0/dataset_420c4b07-ea17-4e63-9f48-4cc364e28432.dat' --assembly_plan_name 'Type2sRestrictionAssembly' --file_name_mapping '/tmp/tmps36anksu/files/6/a/4/dataset_6a407f29-14a2-4358-8781-97a5a60006bf.dat:part_A.gb,/tmp/tmps36anksu/files/9/c/0/dataset_9c05120b-2a93-4298-a718-2db482dec9e0.dat:part_B.gb,/tmp/tmps36anksu/files/e/9/d/dataset_e9dd6c4a-5d1c-48d6-b072-bb67929590f5.dat:part_C.gb,/tmp/tmps36anksu/files/c/2/a/dataset_c2a67b9c-bd0d-483b-b229-1f396bc8c275.dat:part_D.gb,/tmp/tmps36anksu/files/5/3/d/dataset_53dc6b3e-3d2b-4fb7-b279-8b7204ae8d00.dat:part_E.gb,/tmp/tmps36anksu/files/4/0/f/dataset_40fa89b4-5e49-467e-aa6a-d4b8c9b8a8b0.dat:part_F.gb,/tmp/tmps36anksu/files/1/4/b/dataset_14b815cb-038e-4836-bb4e-3f049395271c.dat:part_G.gb,/tmp/tmps36anksu/files/3/2/7/dataset_32719970-8009-4818-a623-ba980af84d70.dat:part_H.gb,/tmp/tmps36anksu/files/6/8/e/dataset_68e30a2d-a44d-40e6-a619-efa1e8cd6e4b.dat:part_I.gb,/tmp/tmps36anksu/files/2/3/c/dataset_23c06fae-96cc-4ff8-9e23-111139ce1a92.dat:part_J.gb,/tmp/tmps36anksu/files/d/2/9/dataset_d29c16a7-2470-418e-a8f1-1da7c5372dde.dat:part_K.gb,/tmp/tmps36anksu/files/2/9/0/dataset_290bfdf4-f595-42f1-a2f0-0f9a9d8e71df.dat:part_L.gb' --file_name_mapping_dom '' --use_file_names_as_id 'true' --outdir_simulation 'outdir_zip' --output_simulation 'output_zip.zip' --enzyme 'auto' --topology 'circular'&& cp 'output_zip.zip' '/tmp/tmps36anksu/job_working_directory/000/14/outputs/dataset_19827d46-96d8-48c8-b434-17f9e4732aec.dat'",
+                    "command_line": "mkdir 'outdir_zip' && mkdir 'outdir_gb' && python '/home/rkhaled/galaxytools/tools/cloning_simulation/cloning_simulation.py' --parts_files '/tmp/tmph0r87skq/files/e/b/4/dataset_eb40ee5e-5155-4303-9230-94926c63daaf.dat,/tmp/tmph0r87skq/files/4/a/9/dataset_4a9a1335-c528-438d-b80a-62b9608dbade.dat,/tmp/tmph0r87skq/files/7/c/a/dataset_7caa4f6a-a734-461f-ac38-c95442632c5a.dat,/tmp/tmph0r87skq/files/9/3/1/dataset_93127db8-2409-4544-93e5-6243a6d253ef.dat,/tmp/tmph0r87skq/files/e/2/9/dataset_e292919e-0a9a-403a-aa6b-30aa552881bd.dat,/tmp/tmph0r87skq/files/4/a/7/dataset_4a7c1e6b-f470-414e-b533-7390f74a64fc.dat,/tmp/tmph0r87skq/files/7/f/3/dataset_7f3df904-0bc5-456a-8679-cc58d06e214e.dat,/tmp/tmph0r87skq/files/a/6/0/dataset_a605738c-9b6d-44c6-891e-01cb729ea4dc.dat,/tmp/tmph0r87skq/files/1/0/c/dataset_10c35405-af25-41d3-9dbd-a411b4b65b98.dat,/tmp/tmph0r87skq/files/1/8/4/dataset_184d9904-3705-424e-b3f7-e5b7b773880f.dat,/tmp/tmph0r87skq/files/4/a/1/dataset_4a10d392-6ebc-413c-bd71-db425aa1aa0a.dat,/tmp/tmph0r87skq/files/8/3/5/dataset_835878c6-84f1-465c-b34e-d177885e567d.dat' --domesticated_seq '' --assembly_csv '/tmp/tmph0r87skq/files/a/5/2/dataset_a522972a-c994-4ec0-a130-e3e1e101d126.dat' --assembly_plan_name 'Type2sRestrictionAssembly' --file_name_mapping '/tmp/tmph0r87skq/files/e/b/4/dataset_eb40ee5e-5155-4303-9230-94926c63daaf.dat:part_A.gb,/tmp/tmph0r87skq/files/4/a/9/dataset_4a9a1335-c528-438d-b80a-62b9608dbade.dat:part_B.gb,/tmp/tmph0r87skq/files/7/c/a/dataset_7caa4f6a-a734-461f-ac38-c95442632c5a.dat:part_C.gb,/tmp/tmph0r87skq/files/9/3/1/dataset_93127db8-2409-4544-93e5-6243a6d253ef.dat:part_D.gb,/tmp/tmph0r87skq/files/e/2/9/dataset_e292919e-0a9a-403a-aa6b-30aa552881bd.dat:part_E.gb,/tmp/tmph0r87skq/files/4/a/7/dataset_4a7c1e6b-f470-414e-b533-7390f74a64fc.dat:part_F.gb,/tmp/tmph0r87skq/files/7/f/3/dataset_7f3df904-0bc5-456a-8679-cc58d06e214e.dat:part_G.gb,/tmp/tmph0r87skq/files/a/6/0/dataset_a605738c-9b6d-44c6-891e-01cb729ea4dc.dat:part_H.gb,/tmp/tmph0r87skq/files/1/0/c/dataset_10c35405-af25-41d3-9dbd-a411b4b65b98.dat:part_I.gb,/tmp/tmph0r87skq/files/1/8/4/dataset_184d9904-3705-424e-b3f7-e5b7b773880f.dat:part_J.gb,/tmp/tmph0r87skq/files/4/a/1/dataset_4a10d392-6ebc-413c-bd71-db425aa1aa0a.dat:part_K.gb,/tmp/tmph0r87skq/files/8/3/5/dataset_835878c6-84f1-465c-b34e-d177885e567d.dat:part_L.gb' --file_name_mapping_dom '' --use_file_names_as_id 'true' --outdir_simulation 'outdir_zip' --outdir_gb 'outdir_gb' --output_simulation 'output_zip.zip' --enzyme 'auto' --topology 'circular'&& cp 'output_zip.zip' '/tmp/tmph0r87skq/job_working_directory/000/14/outputs/dataset_109d2ac1-716e-4c47-a2b9-25e9d68cd9b7.dat'",
                     "command_version": "",
                     "copied_from_job_id": null,
-                    "create_time": "2025-05-16T08:54:45.629427",
+                    "create_time": "2025-05-16T12:35:55.635805",
                     "dependencies": [],
                     "exit_code": 0,
-                    "external_id": "69472",
+                    "external_id": "205109",
                     "galaxy_version": "24.2",
                     "handler": null,
-                    "history_id": "1d1943aa60deb628",
-                    "id": "306d449b91ecb0a3",
+                    "history_id": "a7025157dd5d3039",
+                    "id": "d49d8be9932a8ee0",
                     "inputs": {
                         "assembly_csv": {
-                            "id": "a2e8f3fd1611e7f5",
+                            "id": "c02153e44a10e06a",
                             "src": "hda",
-                            "uuid": "420c4b07-ea17-4e63-9f48-4cc364e28432"
+                            "uuid": "a522972a-c994-4ec0-a130-e3e1e101d126"
                         },
                         "genbank_files1": {
-                            "id": "1d1943aa60deb628",
+                            "id": "a7025157dd5d3039",
                             "src": "hda",
-                            "uuid": "6a407f29-14a2-4358-8781-97a5a60006bf"
+                            "uuid": "eb40ee5e-5155-4303-9230-94926c63daaf"
                         },
                         "genbank_files10": {
-                            "id": "b55875807068e59e",
+                            "id": "26800a0030991202",
                             "src": "hda",
-                            "uuid": "23c06fae-96cc-4ff8-9e23-111139ce1a92"
+                            "uuid": "184d9904-3705-424e-b3f7-e5b7b773880f"
                         },
                         "genbank_files11": {
-                            "id": "4b64a67f616af776",
+                            "id": "9e9c740782c078df",
                             "src": "hda",
-                            "uuid": "d29c16a7-2470-418e-a8f1-1da7c5372dde"
+                            "uuid": "4a10d392-6ebc-413c-bd71-db425aa1aa0a"
                         },
                         "genbank_files12": {
-                            "id": "1fda217ac9617c88",
+                            "id": "d70a40a14f24deac",
                             "src": "hda",
-                            "uuid": "290bfdf4-f595-42f1-a2f0-0f9a9d8e71df"
+                            "uuid": "835878c6-84f1-465c-b34e-d177885e567d"
                         },
                         "genbank_files2": {
-                            "id": "13a3899f03fff34a",
+                            "id": "ce87194f2a532da8",
                             "src": "hda",
-                            "uuid": "9c05120b-2a93-4298-a718-2db482dec9e0"
+                            "uuid": "4a9a1335-c528-438d-b80a-62b9608dbade"
                         },
                         "genbank_files3": {
-                            "id": "6872e1ad22eb2e5d",
+                            "id": "e52e8d0a017d5bd2",
                             "src": "hda",
-                            "uuid": "e9dd6c4a-5d1c-48d6-b072-bb67929590f5"
+                            "uuid": "7caa4f6a-a734-461f-ac38-c95442632c5a"
                         },
                         "genbank_files4": {
-                            "id": "248d7f69d2402068",
+                            "id": "4dd0eedec5562f6e",
                             "src": "hda",
-                            "uuid": "c2a67b9c-bd0d-483b-b229-1f396bc8c275"
+                            "uuid": "93127db8-2409-4544-93e5-6243a6d253ef"
                         },
                         "genbank_files5": {
-                            "id": "a363c57bce5ddac4",
+                            "id": "d1cbd0905c1fc860",
                             "src": "hda",
-                            "uuid": "53dc6b3e-3d2b-4fb7-b279-8b7204ae8d00"
+                            "uuid": "e292919e-0a9a-403a-aa6b-30aa552881bd"
                         },
                         "genbank_files6": {
-                            "id": "8ab843ac4a5890da",
+                            "id": "0494b81690cb2f5c",
                             "src": "hda",
-                            "uuid": "40fa89b4-5e49-467e-aa6a-d4b8c9b8a8b0"
+                            "uuid": "4a7c1e6b-f470-414e-b533-7390f74a64fc"
                         },
                         "genbank_files7": {
-                            "id": "6206f91299006d13",
+                            "id": "edce0bc0654ca8cc",
                             "src": "hda",
-                            "uuid": "14b815cb-038e-4836-bb4e-3f049395271c"
+                            "uuid": "7f3df904-0bc5-456a-8679-cc58d06e214e"
                         },
                         "genbank_files8": {
-                            "id": "278f145ab0478700",
+                            "id": "052d0d471d180256",
                             "src": "hda",
-                            "uuid": "32719970-8009-4818-a623-ba980af84d70"
+                            "uuid": "a605738c-9b6d-44c6-891e-01cb729ea4dc"
                         },
                         "genbank_files9": {
-                            "id": "84aedadb70ef205b",
+                            "id": "5827a0347340e98b",
                             "src": "hda",
-                            "uuid": "68e30a2d-a44d-40e6-a619-efa1e8cd6e4b"
+                            "uuid": "10c35405-af25-41d3-9dbd-a411b4b65b98"
                         }
                     },
                     "job_messages": [],
@@ -106,37 +106,62 @@
                     "job_stderr": "",
                     "job_stdout": "",
                     "model_class": "Job",
-                    "output_collections": {},
+                    "output_collections": {
+                        "construct_gb": {
+                            "id": "ce87194f2a532da8",
+                            "src": "hdca"
+                        }
+                    },
                     "outputs": {
+                        "__new_primary_file_construct_gb|construct_1__": {
+                            "id": "68bcb17f47b988de",
+                            "src": "hda",
+                            "uuid": "2c9a5458-38f0-4591-bb2d-452aac86ce0b"
+                        },
+                        "__new_primary_file_construct_gb|construct_2__": {
+                            "id": "7cb8b41737d3d7aa",
+                            "src": "hda",
+                            "uuid": "026f0937-350b-4ae7-96da-1e685237a8c8"
+                        },
+                        "__new_primary_file_construct_gb|construct_3__": {
+                            "id": "e558db6e0f20f34c",
+                            "src": "hda",
+                            "uuid": "df750e5d-b2f4-43f1-bf95-aa0d980bb98a"
+                        },
+                        "__new_primary_file_construct_gb|construct_4__": {
+                            "id": "87544afc708050c8",
+                            "src": "hda",
+                            "uuid": "0ba9a694-1b4e-4ff4-b6f2-87503d04cd66"
+                        },
                         "output_zip": {
-                            "id": "306d449b91ecb0a3",
+                            "id": "d49d8be9932a8ee0",
                             "src": "hda",
-                            "uuid": "19827d46-96d8-48c8-b434-17f9e4732aec"
+                            "uuid": "109d2ac1-716e-4c47-a2b9-25e9d68cd9b7"
                         }
                     },
                     "params": {
                         "__input_ext": "\"input\"",
                         "adv": "{\"enzyme\": \"auto\", \"use_file_names_as_ids\": true}",
                         "assembly_plan_name": "\"Type2sRestrictionAssembly\"",
-                        "chromInfo": "\"/tmp/tmps36anksu/galaxy-dev/tool-data/shared/ucsc/chrom/?.len\"",
+                        "chromInfo": "\"/tmp/tmph0r87skq/galaxy-dev/tool-data/shared/ucsc/chrom/?.len\"",
                         "dbkey": "\"?\"",
                         "domesticated_input": null,
                         "genbank_files": "{\"values\": [{\"id\": 1, \"src\": \"hdca\"}]}",
                         "topology": "\"circular\""
                     },
                     "state": "ok",
-                    "stderr": "\rassembly:   0%|          | 0/4 [00:00<?, ?it/s, now=None]\r                                                         \r\rassembly:   0%|          | 0/4 [00:00<?, ?it/s, now=None]\rassembly:  50%|\u2588\u2588\u2588\u2588\u2588     | 2/4 [00:00<00:00,  2.38it/s, now=None]\rassembly:  75%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c  | 3/4 [00:01<00:00,  2.15it/s, now=None]\rassembly: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 4/4 [00:02<00:00,  1.76it/s, now=None]\r                                                                 \r",
-                    "stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 0, 'errored_assemblies': 0, 'valid_assemblies': 4}\nGenerating assemblies reports...\nFiles in the zip archive:\nassambly_simulation/assambly_all_required_parts.txt\nassambly_simulation/assambly_constructs_level_2.csv\nassambly_simulation/assambly_simulation_stats.csv\nassambly_simulation/assambly_constructs_level_1.csv\nassambly_simulation/Report.pdf\nassambly_simulation/assembly_plan_graph.pdf\nassambly_simulation/assambly_summary.csv\nassambly_simulation/construct_3/construct_3_type2s_mix_parts_graph.pdf\nassambly_simulation/construct_3/construct_3_summary.csv\nassambly_simulation/construct_3/construct_3_type2s_mix_connections_graph.pdf\nassambly_simulation/construct_3/construct_3.gb\nassambly_simulation/construct_3/construct_3.pdf\nassambly_simulation/construct_3/provided_parts_records/part_L.gb\nassambly_simulation/construct_3/provided_parts_records/part_K.gb\nassambly_simulation/construct_3/provided_parts_records/part_J.gb\nassambly_simulation/construct_3/provided_parts_records/construct_1.gb\nassambly_simulation/all_construct_records/construct_2.gb\nassambly_simulation/all_construct_records/construct_3.gb\nassambly_simulation/all_construct_records/construct_4.gb\nassambly_simulation/all_construct_records/construct_1.gb\nassambly_simulation/construct_1/construct_1_type2s_mix_connections_graph.pdf\nassambly_simulation/construct_1/construct_1_summary.csv\nassambly_simulation/construct_1/construct_1_type2s_mix_parts_graph.pdf\nassambly_simulation/construct_1/construct_1.pdf\nassambly_simulation/construct_1/construct_1.gb\nassambly_simulation/construct_1/provided_parts_records/part_F.gb\nassambly_simulation/construct_1/provided_parts_records/part_B.gb\nassambly_simulation/construct_1/provided_parts_records/part_D.gb\nassambly_simulation/construct_1/provided_parts_records/part_A.gb\nassambly_simulation/construct_1/provided_parts_records/part_C.gb\nassambly_simulation/construct_1/provided_parts_records/part_E.gb\nassambly_simulation/part_records/part_L.gb\nassambly_simulation/part_records/part_F.gb\nassambly_simulation/part_records/part_B.gb\nassambly_simulation/part_records/part_K.gb\nassambly_simulation/part_records/part_D.gb\nassambly_simulation/part_records/part_A.gb\nassambly_simulation/part_records/part_C.gb\nassambly_simulation/part_records/part_G.gb\nassambly_simulation/part_records/part_I.gb\nassambly_simulation/part_records/part_E.gb\nassambly_simulation/part_records/part_J.gb\nassambly_simulation/part_records/part_H.gb\nassambly_simulation/construct_2/construct_2_type2s_mix_parts_graph.pdf\nassambly_simulation/construct_2/construct_2.pdf\nassambly_simulation/construct_2/construct_2.gb\nassambly_simulation/construct_2/construct_2_summary.csv\nassambly_simulation/construct_2/construct_2_type2s_mix_connections_graph.pdf\nassambly_simulation/construct_2/provided_parts_records/part_F.gb\nassambly_simulation/construct_2/provided_parts_records/part_A.gb\nassambly_simulation/construct_2/provided_parts_records/part_G.gb\nassambly_simulation/construct_2/provided_parts_records/part_I.gb\nassambly_simulation/construct_2/provided_parts_records/part_H.gb\nassambly_simulation/construct_4/construct_4_type2s_mix_parts_graph.pdf\nassambly_simulation/construct_4/construct_4.pdf\nassambly_simulation/construct_4/construct_4.gb\nassambly_simulation/construct_4/construct_4_summary.csv\nassambly_simulation/construct_4/construct_4_type2s_mix_connections_graph.pdf\nassambly_simulation/construct_4/provided_parts_records/part_L.gb\nassambly_simulation/construct_4/provided_parts_records/part_K.gb\nassambly_simulation/construct_4/provided_parts_records/construct_2.gb\nassambly_simulation/construct_4/provided_parts_records/part_J.gb\n",
+                    "stderr": "\rassembly:   0%|          | 0/4 [00:00<?, ?it/s, now=None]\r                                                         \r\rassembly:   0%|          | 0/4 [00:00<?, ?it/s, now=None]\rassembly:  50%|\u2588\u2588\u2588\u2588\u2588     | 2/4 [00:00<00:00,  2.41it/s, now=None]\rassembly:  75%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c  | 3/4 [00:01<00:00,  2.25it/s, now=None]\rassembly: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 4/4 [00:02<00:00,  1.82it/s, now=None]\r                                                                 \r",
+                    "stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 0, 'errored_assemblies': 0, 'valid_assemblies': 4}\nGenerating assemblies reports...\n",
                     "tool_id": "cloning_simulation",
-                    "tool_stderr": "\rassembly:   0%|          | 0/4 [00:00<?, ?it/s, now=None]\r                                                         \r\rassembly:   0%|          | 0/4 [00:00<?, ?it/s, now=None]\rassembly:  50%|\u2588\u2588\u2588\u2588\u2588     | 2/4 [00:00<00:00,  2.38it/s, now=None]\rassembly:  75%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c  | 3/4 [00:01<00:00,  2.15it/s, now=None]\rassembly: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 4/4 [00:02<00:00,  1.76it/s, now=None]\r                                                                 \r",
-                    "tool_stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 0, 'errored_assemblies': 0, 'valid_assemblies': 4}\nGenerating assemblies reports...\nFiles in the zip archive:\nassambly_simulation/assambly_all_required_parts.txt\nassambly_simulation/assambly_constructs_level_2.csv\nassambly_simulation/assambly_simulation_stats.csv\nassambly_simulation/assambly_constructs_level_1.csv\nassambly_simulation/Report.pdf\nassambly_simulation/assembly_plan_graph.pdf\nassambly_simulation/assambly_summary.csv\nassambly_simulation/construct_3/construct_3_type2s_mix_parts_graph.pdf\nassambly_simulation/construct_3/construct_3_summary.csv\nassambly_simulation/construct_3/construct_3_type2s_mix_connections_graph.pdf\nassambly_simulation/construct_3/construct_3.gb\nassambly_simulation/construct_3/construct_3.pdf\nassambly_simulation/construct_3/provided_parts_records/part_L.gb\nassambly_simulation/construct_3/provided_parts_records/part_K.gb\nassambly_simulation/construct_3/provided_parts_records/part_J.gb\nassambly_simulation/construct_3/provided_parts_records/construct_1.gb\nassambly_simulation/all_construct_records/construct_2.gb\nassambly_simulation/all_construct_records/construct_3.gb\nassambly_simulation/all_construct_records/construct_4.gb\nassambly_simulation/all_construct_records/construct_1.gb\nassambly_simulation/construct_1/construct_1_type2s_mix_connections_graph.pdf\nassambly_simulation/construct_1/construct_1_summary.csv\nassambly_simulation/construct_1/construct_1_type2s_mix_parts_graph.pdf\nassambly_simulation/construct_1/construct_1.pdf\nassambly_simulation/construct_1/construct_1.gb\nassambly_simulation/construct_1/provided_parts_records/part_F.gb\nassambly_simulation/construct_1/provided_parts_records/part_B.gb\nassambly_simulation/construct_1/provided_parts_records/part_D.gb\nassambly_simulation/construct_1/provided_parts_records/part_A.gb\nassambly_simulation/construct_1/provided_parts_records/part_C.gb\nassambly_simulation/construct_1/provided_parts_records/part_E.gb\nassambly_simulation/part_records/part_L.gb\nassambly_simulation/part_records/part_F.gb\nassambly_simulation/part_records/part_B.gb\nassambly_simulation/part_records/part_K.gb\nassambly_simulation/part_records/part_D.gb\nassambly_simulation/part_records/part_A.gb\nassambly_simulation/part_records/part_C.gb\nassambly_simulation/part_records/part_G.gb\nassambly_simulation/part_records/part_I.gb\nassambly_simulation/part_records/part_E.gb\nassambly_simulation/part_records/part_J.gb\nassambly_simulation/part_records/part_H.gb\nassambly_simulation/construct_2/construct_2_type2s_mix_parts_graph.pdf\nassambly_simulation/construct_2/construct_2.pdf\nassambly_simulation/construct_2/construct_2.gb\nassambly_simulation/construct_2/construct_2_summary.csv\nassambly_simulation/construct_2/construct_2_type2s_mix_connections_graph.pdf\nassambly_simulation/construct_2/provided_parts_records/part_F.gb\nassambly_simulation/construct_2/provided_parts_records/part_A.gb\nassambly_simulation/construct_2/provided_parts_records/part_G.gb\nassambly_simulation/construct_2/provided_parts_records/part_I.gb\nassambly_simulation/construct_2/provided_parts_records/part_H.gb\nassambly_simulation/construct_4/construct_4_type2s_mix_parts_graph.pdf\nassambly_simulation/construct_4/construct_4.pdf\nassambly_simulation/construct_4/construct_4.gb\nassambly_simulation/construct_4/construct_4_summary.csv\nassambly_simulation/construct_4/construct_4_type2s_mix_connections_graph.pdf\nassambly_simulation/construct_4/provided_parts_records/part_L.gb\nassambly_simulation/construct_4/provided_parts_records/part_K.gb\nassambly_simulation/construct_4/provided_parts_records/construct_2.gb\nassambly_simulation/construct_4/provided_parts_records/part_J.gb\n",
-                    "update_time": "2025-05-16T08:54:59.050276",
+                    "tool_stderr": "\rassembly:   0%|          | 0/4 [00:00<?, ?it/s, now=None]\r                                                         \r\rassembly:   0%|          | 0/4 [00:00<?, ?it/s, now=None]\rassembly:  50%|\u2588\u2588\u2588\u2588\u2588     | 2/4 [00:00<00:00,  2.41it/s, now=None]\rassembly:  75%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c  | 3/4 [00:01<00:00,  2.25it/s, now=None]\rassembly: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 4/4 [00:02<00:00,  1.82it/s, now=None]\r                                                                 \r",
+                    "tool_stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 0, 'errored_assemblies': 0, 'valid_assemblies': 4}\nGenerating assemblies reports...\n",
+                    "update_time": "2025-05-16T12:36:09.065234",
                     "user_email": "planemo@galaxyproject.org",
-                    "user_id": "1d1943aa60deb628"
+                    "user_id": "a7025157dd5d3039"
                 },
                 "status": "success",
                 "test_index": 0,
-                "time_seconds": 53.80709099769592,
+                "time_seconds": 54.82133865356445,
                 "tool_id": "cloning_simulation",
                 "tool_version": "0.1.0+galaxy0"
             },
@@ -148,21 +173,21 @@
                 "inputs": {
                     "adv|use_file_names_as_ids": true,
                     "assembly_csv": {
-                        "id": "343611dad2e145e6",
+                        "id": "13b114ac662002c6",
                         "src": "hda"
                     },
                     "assembly_plan_name": "GibsonAssembly",
                     "genbank_files": {
-                        "id": "13a3899f03fff34a",
+                        "id": "e52e8d0a017d5bd2",
                         "src": "hdca"
                     },
                     "topology": "circular"
                 },
                 "job": {
-                    "command_line": "mkdir 'outdir_zip' && python '/home/rkhaled/galaxytools/tools/cloning_simulation/cloning_simulation.py' --parts_files '/tmp/tmps36anksu/files/5/c/2/dataset_5c2150b5-537a-4971-98ef-959bb4141fac.dat' --domesticated_seq '' --assembly_csv '/tmp/tmps36anksu/files/7/a/0/dataset_7a09a16a-a7f7-44ce-8e1d-5f6baf385c44.dat' --assembly_plan_name 'GibsonAssembly' --file_name_mapping '/tmp/tmps36anksu/files/5/c/2/dataset_5c2150b5-537a-4971-98ef-959bb4141fac.dat:gibson_sequences.fa' --file_name_mapping_dom '' --use_file_names_as_id 'true' --outdir_simulation 'outdir_zip' --output_simulation 'output_zip.zip' --enzyme 'auto' --topology 'circular'&& cp 'output_zip.zip' '/tmp/tmps36anksu/job_working_directory/000/17/outputs/dataset_4c70b3f9-9fb4-4e1c-942c-47fd78a5a348.dat'",
+                    "command_line": "mkdir 'outdir_zip' && mkdir 'outdir_gb' && python '/home/rkhaled/galaxytools/tools/cloning_simulation/cloning_simulation.py' --parts_files '/tmp/tmph0r87skq/files/f/2/e/dataset_f2e8406c-fdb7-4b30-aa74-202b93292a26.dat' --domesticated_seq '' --assembly_csv '/tmp/tmph0r87skq/files/5/7/9/dataset_579b13e6-f14d-401c-88ee-b25ed3bf42dc.dat' --assembly_plan_name 'GibsonAssembly' --file_name_mapping '/tmp/tmph0r87skq/files/f/2/e/dataset_f2e8406c-fdb7-4b30-aa74-202b93292a26.dat:gibson_sequences.fa' --file_name_mapping_dom '' --use_file_names_as_id 'true' --outdir_simulation 'outdir_zip' --outdir_gb 'outdir_gb' --output_simulation 'output_zip.zip' --enzyme 'auto' --topology 'circular'&& cp 'output_zip.zip' '/tmp/tmph0r87skq/job_working_directory/000/17/outputs/dataset_36e0457f-1da8-456a-86c9-20ea242688bc.dat'",
                     "command_version": "",
                     "copied_from_job_id": null,
-                    "create_time": "2025-05-16T08:55:10.522461",
+                    "create_time": "2025-05-16T12:36:19.661290",
                     "dependencies": [
                         {
                             "cacheable": false,
@@ -180,7 +205,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "flametree",
@@ -202,7 +227,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "biopython",
@@ -224,7 +249,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "proglog",
@@ -246,7 +271,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "pandas",
@@ -268,7 +293,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "dnacauldron",
@@ -290,7 +315,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "pdf-reports",
@@ -312,7 +337,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "sequenticon",
@@ -334,29 +359,29 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "dna_features_viewer",
-                            "version": "3.1.4"
+                            "version": "3.1.5"
                         }
                     ],
                     "exit_code": 0,
-                    "external_id": "69816",
+                    "external_id": "205459",
                     "galaxy_version": "24.2",
                     "handler": null,
-                    "history_id": "13a3899f03fff34a",
-                    "id": "6fff2cd3fd6e4947",
+                    "history_id": "ce87194f2a532da8",
+                    "id": "e558db6e0f20f34c",
                     "inputs": {
                         "assembly_csv": {
-                            "id": "343611dad2e145e6",
+                            "id": "13b114ac662002c6",
                             "src": "hda",
-                            "uuid": "7a09a16a-a7f7-44ce-8e1d-5f6baf385c44"
+                            "uuid": "579b13e6-f14d-401c-88ee-b25ed3bf42dc"
                         },
                         "genbank_files1": {
-                            "id": "03c59a54410e4ccf",
+                            "id": "16385471cc722641",
                             "src": "hda",
-                            "uuid": "5c2150b5-537a-4971-98ef-959bb4141fac"
+                            "uuid": "f2e8406c-fdb7-4b30-aa74-202b93292a26"
                         }
                     },
                     "job_messages": [],
@@ -365,37 +390,57 @@
                     "job_stderr": "",
                     "job_stdout": "",
                     "model_class": "Job",
-                    "output_collections": {},
+                    "output_collections": {
+                        "construct_gb": {
+                            "id": "4dd0eedec5562f6e",
+                            "src": "hdca"
+                        }
+                    },
                     "outputs": {
+                        "__new_primary_file_construct_gb|construct_1__": {
+                            "id": "eb4747fb10762624",
+                            "src": "hda",
+                            "uuid": "8b9f07c0-2a2f-49db-b0b9-e3b27b5d2102"
+                        },
+                        "__new_primary_file_construct_gb|construct_2__": {
+                            "id": "fa2c1cd7e40ca607",
+                            "src": "hda",
+                            "uuid": "694f0f93-1c26-4a8b-91ed-bcb7fe4b3784"
+                        },
+                        "__new_primary_file_construct_gb|construct_3__": {
+                            "id": "2c9180ba70391455",
+                            "src": "hda",
+                            "uuid": "e57dc6e8-10e6-4527-a375-9ed583735c59"
+                        },
                         "output_zip": {
-                            "id": "6fff2cd3fd6e4947",
+                            "id": "cf8958f7b0d14fa5",
                             "src": "hda",
-                            "uuid": "4c70b3f9-9fb4-4e1c-942c-47fd78a5a348"
+                            "uuid": "36e0457f-1da8-456a-86c9-20ea242688bc"
                         }
                     },
                     "params": {
                         "__input_ext": "\"input\"",
                         "adv": "{\"enzyme\": \"auto\", \"use_file_names_as_ids\": true}",
                         "assembly_plan_name": "\"GibsonAssembly\"",
-                        "chromInfo": "\"/tmp/tmps36anksu/galaxy-dev/tool-data/shared/ucsc/chrom/?.len\"",
+                        "chromInfo": "\"/tmp/tmph0r87skq/galaxy-dev/tool-data/shared/ucsc/chrom/?.len\"",
                         "dbkey": "\"?\"",
                         "domesticated_input": null,
-                        "genbank_files": "{\"values\": [{\"id\": 2, \"src\": \"hdca\"}]}",
+                        "genbank_files": "{\"values\": [{\"id\": 3, \"src\": \"hdca\"}]}",
                         "topology": "\"circular\""
                     },
                     "state": "ok",
-                    "stderr": "\rassembly:   0%|          | 0/5 [00:00<?, ?it/s, now=None]\r                                                         \r\rassembly:   0%|          | 0/5 [00:00<?, ?it/s, now=None]\rassembly:  40%|\u2588\u2588\u2588\u2588      | 2/5 [00:00<00:00,  4.10it/s, now=None]\rassembly:  60%|\u2588\u2588\u2588\u2588\u2588\u2588    | 3/5 [00:00<00:00,  4.10it/s, now=None]\rassembly:  80%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588  | 4/5 [00:00<00:00,  4.09it/s, now=None]\rassembly: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 5/5 [00:01<00:00,  3.38it/s, now=None]\r                                                                 \r",
-                    "stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 0, 'errored_assemblies': 2, 'valid_assemblies': 3}\nGenerating assemblies reports...\nFiles in the zip archive:\nassambly_simulation/assambly_all_required_parts.txt\nassambly_simulation/assambly_assembly_plan.csv\nassambly_simulation/assambly_simulation_stats.csv\nassambly_simulation/Report.pdf\nassambly_simulation/assambly_warnings.csv\nassambly_simulation/assambly_errors.csv\nassambly_simulation/assambly_summary.csv\nassambly_simulation/construct_3/construct_3_summary.csv\nassambly_simulation/construct_3/construct_3.gb\nassambly_simulation/construct_3/construct_3.pdf\nassambly_simulation/construct_3/construct_3_connections_graph.pdf\nassambly_simulation/construct_3/provided_parts_records/Frag_5b.gb\nassambly_simulation/construct_3/provided_parts_records/Frag_4c.gb\nassambly_simulation/construct_3/provided_parts_records/Frag_3.gb\nassambly_simulation/construct_3/provided_parts_records/Frag_1.gb\nassambly_simulation/construct_3/provided_parts_records/Frag_2.gb\nassambly_simulation/all_construct_records/construct_2.gb\nassambly_simulation/all_construct_records/construct_3.gb\nassambly_simulation/all_construct_records/construct_1.gb\nassambly_simulation/construct_1/construct_1_summary.csv\nassambly_simulation/construct_1/construct_1.pdf\nassambly_simulation/construct_1/construct_1_connections_graph.pdf\nassambly_simulation/construct_1/construct_1.gb\nassambly_simulation/construct_1/provided_parts_records/Frag_5.gb\nassambly_simulation/construct_1/provided_parts_records/Frag_4.gb\nassambly_simulation/construct_1/provided_parts_records/Frag_3.gb\nassambly_simulation/construct_1/provided_parts_records/Frag_1.gb\nassambly_simulation/construct_1/provided_parts_records/Frag_2.gb\nassambly_simulation/part_records/Frag_5.gb\nassambly_simulation/part_records/Frag_5b.gb\nassambly_simulation/part_records/Frag_4.gb\nassambly_simulation/part_records/Frag_4c.gb\nassambly_simulation/part_records/Frag_4b.gb\nassambly_simulation/part_records/Frag_3.gb\nassambly_simulation/part_records/Frag_1.gb\nassambly_simulation/part_records/Frag_2.gb\nassambly_simulation/construct_2/construct_2.pdf\nassambly_simulation/construct_2/construct_2_connections_graph.pdf\nassambly_simulation/construct_2/construct_2.gb\nassambly_simulation/construct_2/construct_2_summary.csv\nassambly_simulation/construct_2/provided_parts_records/Frag_5.gb\nassambly_simulation/construct_2/provided_parts_records/Frag_4b.gb\nassambly_simulation/construct_2/provided_parts_records/Frag_3.gb\nassambly_simulation/construct_2/provided_parts_records/Frag_1.gb\nassambly_simulation/construct_2/provided_parts_records/Frag_2.gb\nassambly_simulation/construct_5/error.csv\nassambly_simulation/construct_5/construct_5_connections_graph.pdf\nassambly_simulation/construct_5/warnings.csv\nassambly_simulation/construct_5/fragments_in_construct_5_homology_mix/Frag_1_01.pdf\nassambly_simulation/construct_5/fragments_in_construct_5_homology_mix/Frag_2_01.pdf\nassambly_simulation/construct_5/fragments_in_construct_5_homology_mix/Frag_3_01.pdf\nassambly_simulation/construct_5/fragments_in_construct_5_homology_mix/Frag_4_01.pdf\nassambly_simulation/construct_5/fragments_in_construct_5_homology_mix/Frag_4b_01.pdf\nassambly_simulation/construct_5/provided_parts_plots/Frag_4b.pdf\nassambly_simulation/construct_5/provided_parts_plots/Frag_4.pdf\nassambly_simulation/construct_5/provided_parts_plots/Frag_3.pdf\nassambly_simulation/construct_5/provided_parts_plots/Frag_2.pdf\nassambly_simulation/construct_5/provided_parts_plots/Frag_1.pdf\nassambly_simulation/construct_5/provided_parts_records/Frag_4.gb\nassambly_simulation/construct_5/provided_parts_records/Frag_4b.gb\nassambly_simulation/construct_5/provided_parts_records/Frag_3.gb\nassambly_simulation/construct_5/provided_parts_records/Frag_1.gb\nassambly_simulation/construct_5/provided_parts_records/Frag_2.gb\nassambly_simulation/construct_4/construct_4_connections_graph.pdf\nassambly_simulation/construct_4/error.csv\nassambly_simulation/construct_4/warnings.csv\nassambly_simulation/construct_4/provided_parts_plots/Frag_4.pdf\nassambly_simulation/construct_4/provided_parts_plots/Frag_3.pdf\nassambly_simulation/construct_4/provided_parts_plots/Frag_2.pdf\nassambly_simulation/construct_4/provided_parts_plots/Frag_1.pdf\nassambly_simulation/construct_4/provided_parts_records/Frag_4.gb\nassambly_simulation/construct_4/provided_parts_records/Frag_3.gb\nassambly_simulation/construct_4/provided_parts_records/Frag_1.gb\nassambly_simulation/construct_4/provided_parts_records/Frag_2.gb\nassambly_simulation/construct_4/fragments_in_construct_4_homology_mix/Frag_1_01.pdf\nassambly_simulation/construct_4/fragments_in_construct_4_homology_mix/Frag_2_01.pdf\nassambly_simulation/construct_4/fragments_in_construct_4_homology_mix/Frag_3_01.pdf\nassambly_simulation/construct_4/fragments_in_construct_4_homology_mix/Frag_4_01.pdf\n",
+                    "stderr": "\rassembly:   0%|          | 0/5 [00:00<?, ?it/s, now=None]\r                                                         \r\rassembly:   0%|          | 0/5 [00:00<?, ?it/s, now=None]\rassembly:  40%|\u2588\u2588\u2588\u2588      | 2/5 [00:00<00:00,  4.71it/s, now=None]\rassembly:  60%|\u2588\u2588\u2588\u2588\u2588\u2588    | 3/5 [00:00<00:00,  4.79it/s, now=None]\rassembly:  80%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588  | 4/5 [00:00<00:00,  4.60it/s, now=None]\rassembly: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 5/5 [00:01<00:00,  3.70it/s, now=None]\r                                                                 \r",
+                    "stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 0, 'errored_assemblies': 2, 'valid_assemblies': 3}\nGenerating assemblies reports...\n",
                     "tool_id": "cloning_simulation",
-                    "tool_stderr": "\rassembly:   0%|          | 0/5 [00:00<?, ?it/s, now=None]\r                                                         \r\rassembly:   0%|          | 0/5 [00:00<?, ?it/s, now=None]\rassembly:  40%|\u2588\u2588\u2588\u2588      | 2/5 [00:00<00:00,  4.10it/s, now=None]\rassembly:  60%|\u2588\u2588\u2588\u2588\u2588\u2588    | 3/5 [00:00<00:00,  4.10it/s, now=None]\rassembly:  80%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588  | 4/5 [00:00<00:00,  4.09it/s, now=None]\rassembly: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 5/5 [00:01<00:00,  3.38it/s, now=None]\r                                                                 \r",
-                    "tool_stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 0, 'errored_assemblies': 2, 'valid_assemblies': 3}\nGenerating assemblies reports...\nFiles in the zip archive:\nassambly_simulation/assambly_all_required_parts.txt\nassambly_simulation/assambly_assembly_plan.csv\nassambly_simulation/assambly_simulation_stats.csv\nassambly_simulation/Report.pdf\nassambly_simulation/assambly_warnings.csv\nassambly_simulation/assambly_errors.csv\nassambly_simulation/assambly_summary.csv\nassambly_simulation/construct_3/construct_3_summary.csv\nassambly_simulation/construct_3/construct_3.gb\nassambly_simulation/construct_3/construct_3.pdf\nassambly_simulation/construct_3/construct_3_connections_graph.pdf\nassambly_simulation/construct_3/provided_parts_records/Frag_5b.gb\nassambly_simulation/construct_3/provided_parts_records/Frag_4c.gb\nassambly_simulation/construct_3/provided_parts_records/Frag_3.gb\nassambly_simulation/construct_3/provided_parts_records/Frag_1.gb\nassambly_simulation/construct_3/provided_parts_records/Frag_2.gb\nassambly_simulation/all_construct_records/construct_2.gb\nassambly_simulation/all_construct_records/construct_3.gb\nassambly_simulation/all_construct_records/construct_1.gb\nassambly_simulation/construct_1/construct_1_summary.csv\nassambly_simulation/construct_1/construct_1.pdf\nassambly_simulation/construct_1/construct_1_connections_graph.pdf\nassambly_simulation/construct_1/construct_1.gb\nassambly_simulation/construct_1/provided_parts_records/Frag_5.gb\nassambly_simulation/construct_1/provided_parts_records/Frag_4.gb\nassambly_simulation/construct_1/provided_parts_records/Frag_3.gb\nassambly_simulation/construct_1/provided_parts_records/Frag_1.gb\nassambly_simulation/construct_1/provided_parts_records/Frag_2.gb\nassambly_simulation/part_records/Frag_5.gb\nassambly_simulation/part_records/Frag_5b.gb\nassambly_simulation/part_records/Frag_4.gb\nassambly_simulation/part_records/Frag_4c.gb\nassambly_simulation/part_records/Frag_4b.gb\nassambly_simulation/part_records/Frag_3.gb\nassambly_simulation/part_records/Frag_1.gb\nassambly_simulation/part_records/Frag_2.gb\nassambly_simulation/construct_2/construct_2.pdf\nassambly_simulation/construct_2/construct_2_connections_graph.pdf\nassambly_simulation/construct_2/construct_2.gb\nassambly_simulation/construct_2/construct_2_summary.csv\nassambly_simulation/construct_2/provided_parts_records/Frag_5.gb\nassambly_simulation/construct_2/provided_parts_records/Frag_4b.gb\nassambly_simulation/construct_2/provided_parts_records/Frag_3.gb\nassambly_simulation/construct_2/provided_parts_records/Frag_1.gb\nassambly_simulation/construct_2/provided_parts_records/Frag_2.gb\nassambly_simulation/construct_5/error.csv\nassambly_simulation/construct_5/construct_5_connections_graph.pdf\nassambly_simulation/construct_5/warnings.csv\nassambly_simulation/construct_5/fragments_in_construct_5_homology_mix/Frag_1_01.pdf\nassambly_simulation/construct_5/fragments_in_construct_5_homology_mix/Frag_2_01.pdf\nassambly_simulation/construct_5/fragments_in_construct_5_homology_mix/Frag_3_01.pdf\nassambly_simulation/construct_5/fragments_in_construct_5_homology_mix/Frag_4_01.pdf\nassambly_simulation/construct_5/fragments_in_construct_5_homology_mix/Frag_4b_01.pdf\nassambly_simulation/construct_5/provided_parts_plots/Frag_4b.pdf\nassambly_simulation/construct_5/provided_parts_plots/Frag_4.pdf\nassambly_simulation/construct_5/provided_parts_plots/Frag_3.pdf\nassambly_simulation/construct_5/provided_parts_plots/Frag_2.pdf\nassambly_simulation/construct_5/provided_parts_plots/Frag_1.pdf\nassambly_simulation/construct_5/provided_parts_records/Frag_4.gb\nassambly_simulation/construct_5/provided_parts_records/Frag_4b.gb\nassambly_simulation/construct_5/provided_parts_records/Frag_3.gb\nassambly_simulation/construct_5/provided_parts_records/Frag_1.gb\nassambly_simulation/construct_5/provided_parts_records/Frag_2.gb\nassambly_simulation/construct_4/construct_4_connections_graph.pdf\nassambly_simulation/construct_4/error.csv\nassambly_simulation/construct_4/warnings.csv\nassambly_simulation/construct_4/provided_parts_plots/Frag_4.pdf\nassambly_simulation/construct_4/provided_parts_plots/Frag_3.pdf\nassambly_simulation/construct_4/provided_parts_plots/Frag_2.pdf\nassambly_simulation/construct_4/provided_parts_plots/Frag_1.pdf\nassambly_simulation/construct_4/provided_parts_records/Frag_4.gb\nassambly_simulation/construct_4/provided_parts_records/Frag_3.gb\nassambly_simulation/construct_4/provided_parts_records/Frag_1.gb\nassambly_simulation/construct_4/provided_parts_records/Frag_2.gb\nassambly_simulation/construct_4/fragments_in_construct_4_homology_mix/Frag_1_01.pdf\nassambly_simulation/construct_4/fragments_in_construct_4_homology_mix/Frag_2_01.pdf\nassambly_simulation/construct_4/fragments_in_construct_4_homology_mix/Frag_3_01.pdf\nassambly_simulation/construct_4/fragments_in_construct_4_homology_mix/Frag_4_01.pdf\n",
-                    "update_time": "2025-05-16T08:55:23.301357",
+                    "tool_stderr": "\rassembly:   0%|          | 0/5 [00:00<?, ?it/s, now=None]\r                                                         \r\rassembly:   0%|          | 0/5 [00:00<?, ?it/s, now=None]\rassembly:  40%|\u2588\u2588\u2588\u2588      | 2/5 [00:00<00:00,  4.71it/s, now=None]\rassembly:  60%|\u2588\u2588\u2588\u2588\u2588\u2588    | 3/5 [00:00<00:00,  4.79it/s, now=None]\rassembly:  80%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588  | 4/5 [00:00<00:00,  4.60it/s, now=None]\rassembly: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 5/5 [00:01<00:00,  3.70it/s, now=None]\r                                                                 \r",
+                    "tool_stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 0, 'errored_assemblies': 2, 'valid_assemblies': 3}\nGenerating assemblies reports...\n",
+                    "update_time": "2025-05-16T12:36:31.612352",
                     "user_email": "planemo@galaxyproject.org",
-                    "user_id": "1d1943aa60deb628"
+                    "user_id": "a7025157dd5d3039"
                 },
                 "status": "success",
                 "test_index": 1,
-                "time_seconds": 24.055506706237793,
+                "time_seconds": 22.601666688919067,
                 "tool_id": "cloning_simulation",
                 "tool_version": "0.1.0+galaxy0"
             },
@@ -407,21 +452,21 @@
                 "inputs": {
                     "adv|use_file_names_as_ids": true,
                     "assembly_csv": {
-                        "id": "eae50b1e0ba0bca8",
+                        "id": "84906eb14284db27",
                         "src": "hda"
                     },
                     "assembly_plan_name": "LigaseCyclingReactionAssembly",
                     "genbank_files": {
-                        "id": "6872e1ad22eb2e5d",
+                        "id": "d1cbd0905c1fc860",
                         "src": "hdca"
                     },
                     "topology": "circular"
                 },
                 "job": {
-                    "command_line": "mkdir 'outdir_zip' && python '/home/rkhaled/galaxytools/tools/cloning_simulation/cloning_simulation.py' --parts_files '/tmp/tmps36anksu/files/a/a/0/dataset_aa035ce9-b3ee-4c4d-a5c1-e2451c4297c2.dat,/tmp/tmps36anksu/files/4/b/b/dataset_4bb2bf6a-b351-4a80-ab47-d4d56aefa38c.dat' --domesticated_seq '' --assembly_csv '/tmp/tmps36anksu/files/5/a/f/dataset_5af89b00-757d-4606-b6c8-d00d3f0ca39e.dat' --assembly_plan_name 'LigaseCyclingReactionAssembly' --file_name_mapping '/tmp/tmps36anksu/files/a/a/0/dataset_aa035ce9-b3ee-4c4d-a5c1-e2451c4297c2.dat:RFP_GFP_plasmid_BOs.fa,/tmp/tmps36anksu/files/4/b/b/dataset_4bb2bf6a-b351-4a80-ab47-d4d56aefa38c.dat:RFP_GFP_plasmid_parts.fa' --file_name_mapping_dom '' --use_file_names_as_id 'true' --outdir_simulation 'outdir_zip' --output_simulation 'output_zip.zip' --enzyme 'auto' --topology 'circular'&& cp 'output_zip.zip' '/tmp/tmps36anksu/job_working_directory/000/21/outputs/dataset_bd5c88b9-1efd-4507-b875-13dfebff9d6a.dat'",
+                    "command_line": "mkdir 'outdir_zip' && mkdir 'outdir_gb' && python '/home/rkhaled/galaxytools/tools/cloning_simulation/cloning_simulation.py' --parts_files '/tmp/tmph0r87skq/files/1/5/7/dataset_15741680-9963-4b3d-979e-792be37256f2.dat,/tmp/tmph0r87skq/files/d/3/d/dataset_d3de76b3-3793-46fa-990e-970e1bcb2a72.dat' --domesticated_seq '' --assembly_csv '/tmp/tmph0r87skq/files/2/0/e/dataset_20eb88b1-0fc5-476b-a409-da7f598780b6.dat' --assembly_plan_name 'LigaseCyclingReactionAssembly' --file_name_mapping '/tmp/tmph0r87skq/files/1/5/7/dataset_15741680-9963-4b3d-979e-792be37256f2.dat:RFP_GFP_plasmid_BOs.fa,/tmp/tmph0r87skq/files/d/3/d/dataset_d3de76b3-3793-46fa-990e-970e1bcb2a72.dat:RFP_GFP_plasmid_parts.fa' --file_name_mapping_dom '' --use_file_names_as_id 'true' --outdir_simulation 'outdir_zip' --outdir_gb 'outdir_gb' --output_simulation 'output_zip.zip' --enzyme 'auto' --topology 'circular'&& cp 'output_zip.zip' '/tmp/tmph0r87skq/job_working_directory/000/21/outputs/dataset_0ffdda24-b80f-4db5-8c10-1467d34eb3a8.dat'",
                     "command_version": "",
                     "copied_from_job_id": null,
-                    "create_time": "2025-05-16T08:55:35.420052",
+                    "create_time": "2025-05-16T12:36:42.888728",
                     "dependencies": [
                         {
                             "cacheable": false,
@@ -439,7 +484,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "flametree",
@@ -461,7 +506,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "biopython",
@@ -483,7 +528,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "proglog",
@@ -505,7 +550,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "pandas",
@@ -527,7 +572,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "dnacauldron",
@@ -549,7 +594,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "pdf-reports",
@@ -571,7 +616,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "sequenticon",
@@ -593,34 +638,34 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "dna_features_viewer",
-                            "version": "3.1.4"
+                            "version": "3.1.5"
                         }
                     ],
                     "exit_code": 0,
-                    "external_id": "70205",
+                    "external_id": "205894",
                     "galaxy_version": "24.2",
                     "handler": null,
-                    "history_id": "6872e1ad22eb2e5d",
-                    "id": "8205956dbdec438f",
+                    "history_id": "e52e8d0a017d5bd2",
+                    "id": "cf8958f7b0d14fa5",
                     "inputs": {
                         "assembly_csv": {
-                            "id": "eae50b1e0ba0bca8",
+                            "id": "84906eb14284db27",
                             "src": "hda",
-                            "uuid": "5af89b00-757d-4606-b6c8-d00d3f0ca39e"
+                            "uuid": "20eb88b1-0fc5-476b-a409-da7f598780b6"
                         },
                         "genbank_files1": {
-                            "id": "e685210c6961cf21",
+                            "id": "1fdafe0e70c0e721",
                             "src": "hda",
-                            "uuid": "aa035ce9-b3ee-4c4d-a5c1-e2451c4297c2"
+                            "uuid": "15741680-9963-4b3d-979e-792be37256f2"
                         },
                         "genbank_files2": {
-                            "id": "fb0119a6d133c713",
+                            "id": "044728be18fd1186",
                             "src": "hda",
-                            "uuid": "4bb2bf6a-b351-4a80-ab47-d4d56aefa38c"
+                            "uuid": "d3de76b3-3793-46fa-990e-970e1bcb2a72"
                         }
                     },
                     "job_messages": [],
@@ -629,37 +674,42 @@
                     "job_stderr": "",
                     "job_stdout": "",
                     "model_class": "Job",
-                    "output_collections": {},
+                    "output_collections": {
+                        "construct_gb": {
+                            "id": "0494b81690cb2f5c",
+                            "src": "hdca"
+                        }
+                    },
                     "outputs": {
                         "output_zip": {
-                            "id": "8205956dbdec438f",
+                            "id": "920c0db56b0a806b",
                             "src": "hda",
-                            "uuid": "bd5c88b9-1efd-4507-b875-13dfebff9d6a"
+                            "uuid": "0ffdda24-b80f-4db5-8c10-1467d34eb3a8"
                         }
                     },
                     "params": {
                         "__input_ext": "\"input\"",
                         "adv": "{\"enzyme\": \"auto\", \"use_file_names_as_ids\": true}",
                         "assembly_plan_name": "\"LigaseCyclingReactionAssembly\"",
-                        "chromInfo": "\"/tmp/tmps36anksu/galaxy-dev/tool-data/shared/ucsc/chrom/?.len\"",
+                        "chromInfo": "\"/tmp/tmph0r87skq/galaxy-dev/tool-data/shared/ucsc/chrom/?.len\"",
                         "dbkey": "\"?\"",
                         "domesticated_input": null,
-                        "genbank_files": "{\"values\": [{\"id\": 3, \"src\": \"hdca\"}]}",
+                        "genbank_files": "{\"values\": [{\"id\": 5, \"src\": \"hdca\"}]}",
                         "topology": "\"circular\""
                     },
                     "state": "ok",
-                    "stderr": "\rassembly:   0%|          | 0/2 [00:00<?, ?it/s, now=None]\r                                                         \r\rassembly:   0%|          | 0/2 [00:00<?, ?it/s, now=None]\rassembly: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 2/2 [00:00<00:00,  2.34it/s, now=None]\r                                                                 \r",
-                    "stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 0, 'errored_assemblies': 2, 'valid_assemblies': 0}\nGenerating assemblies reports...\nFiles in the zip archive:\nassambly_simulation/assambly_all_required_parts.txt\nassambly_simulation/assambly_simulation_stats.csv\nassambly_simulation/Report.pdf\nassambly_simulation/assambly_warnings.csv\nassambly_simulation/assambly_errors.csv\nassambly_simulation/assambly_summary.csv\nassambly_simulation/Construct2_flawed/Construct2_flawed_connections_graph.pdf\nassambly_simulation/Construct2_flawed/error.csv\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/RFP_GFP_BO_10268_01.pdf\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/RFP_GFP_BO_10244_01.pdf\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/RFP_GFP_BO_10281_01.pdf\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/p1_mRFP1-part1_01.pdf\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/p3_mRFP1-part3_01.pdf\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/p7_backbone_01.pdf\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/RFP_GFP_BO_10232_01.pdf\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/p4_sfGFP-part1_01.pdf\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/p5_sfGFP-part2_01.pdf\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/RFP_GFP_BO_10233_01.pdf\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/p2_mRFP1-part2_01.pdf\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/p6_sfGFP-part3_01.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/p4_sfGFP-part1.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/RFP_GFP_BO_10233.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/RFP_GFP_BO_10232.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/p6_sfGFP-part3.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/p1_mRFP1-part1.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/p3_mRFP1-part3.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/p2_mRFP1-part2.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/RFP_GFP_BO_10244.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/RFP_GFP_BO_10268.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/RFP_GFP_BO_10281.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/p5_sfGFP-part2.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/p7_backbone.pdf\nassambly_simulation/Construct2_flawed/provided_parts_records/p5_sfGFP-part2.gb\nassambly_simulation/Construct2_flawed/provided_parts_records/RFP_GFP_BO_10233.gb\nassambly_simulation/Construct2_flawed/provided_parts_records/p6_sfGFP-part3.gb\nassambly_simulation/Construct2_flawed/provided_parts_records/RFP_GFP_BO_10232.gb\nassambly_simulation/Construct2_flawed/provided_parts_records/p2_mRFP1-part2.gb\nassambly_simulation/Construct2_flawed/provided_parts_records/RFP_GFP_BO_10268.gb\nassambly_simulation/Construct2_flawed/provided_parts_records/p1_mRFP1-part1.gb\nassambly_simulation/Construct2_flawed/provided_parts_records/p7_backbone.gb\nassambly_simulation/Construct2_flawed/provided_parts_records/RFP_GFP_BO_10281.gb\nassambly_simulation/Construct2_flawed/provided_parts_records/RFP_GFP_BO_10244.gb\nassambly_simulation/Construct2_flawed/provided_parts_records/p3_mRFP1-part3.gb\nassambly_simulation/Construct2_flawed/provided_parts_records/p4_sfGFP-part1.gb\nassambly_simulation/Construct1/error.csv\nassambly_simulation/Construct1/Construct1_connections_graph.pdf\nassambly_simulation/Construct1/warnings.csv\nassambly_simulation/Construct1/provided_parts_plots/p4_sfGFP-part1.pdf\nassambly_simulation/Construct1/provided_parts_plots/p6_sfGFP-part3.pdf\nassambly_simulation/Construct1/provided_parts_plots/p1_mRFP1-part1.pdf\nassambly_simulation/Construct1/provided_parts_plots/p3_mRFP1-part3.pdf\nassambly_simulation/Construct1/provided_parts_plots/p2_mRFP1-part2.pdf\nassambly_simulation/Construct1/provided_parts_plots/p5_sfGFP-part2.pdf\nassambly_simulation/Construct1/provided_parts_plots/p7_backbone.pdf\nassambly_simulation/Construct1/fragments_in_Construct1_homology_mix/p1_mRFP1-part1_01.pdf\nassambly_simulation/Construct1/fragments_in_Construct1_homology_mix/p3_mRFP1-part3_01.pdf\nassambly_simulation/Construct1/fragments_in_Construct1_homology_mix/p7_backbone_01.pdf\nassambly_simulation/Construct1/fragments_in_Construct1_homology_mix/p4_sfGFP-part1_01.pdf\nassambly_simulation/Construct1/fragments_in_Construct1_homology_mix/p5_sfGFP-part2_01.pdf\nassambly_simulation/Construct1/fragments_in_Construct1_homology_mix/p2_mRFP1-part2_01.pdf\nassambly_simulation/Construct1/fragments_in_Construct1_homology_mix/p6_sfGFP-part3_01.pdf\nassambly_simulation/Construct1/provided_parts_records/p5_sfGFP-part2.gb\nassambly_simulation/Construct1/provided_parts_records/p6_sfGFP-part3.gb\nassambly_simulation/Construct1/provided_parts_records/p2_mRFP1-part2.gb\nassambly_simulation/Construct1/provided_parts_records/p1_mRFP1-part1.gb\nassambly_simulation/Construct1/provided_parts_records/p7_backbone.gb\nassambly_simulation/Construct1/provided_parts_records/p3_mRFP1-part3.gb\nassambly_simulation/Construct1/provided_parts_records/p4_sfGFP-part1.gb\n",
+                    "stderr": "\rassembly:   0%|          | 0/2 [00:00<?, ?it/s, now=None]\r                                                         \r\rassembly:   0%|          | 0/2 [00:00<?, ?it/s, now=None]\rassembly: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 2/2 [00:00<00:00,  2.42it/s, now=None]\r                                                                 \r",
+                    "stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 0, 'errored_assemblies': 2, 'valid_assemblies': 0}\nGenerating assemblies reports...\n",
                     "tool_id": "cloning_simulation",
-                    "tool_stderr": "\rassembly:   0%|          | 0/2 [00:00<?, ?it/s, now=None]\r                                                         \r\rassembly:   0%|          | 0/2 [00:00<?, ?it/s, now=None]\rassembly: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 2/2 [00:00<00:00,  2.34it/s, now=None]\r                                                                 \r",
-                    "tool_stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 0, 'errored_assemblies': 2, 'valid_assemblies': 0}\nGenerating assemblies reports...\nFiles in the zip archive:\nassambly_simulation/assambly_all_required_parts.txt\nassambly_simulation/assambly_simulation_stats.csv\nassambly_simulation/Report.pdf\nassambly_simulation/assambly_warnings.csv\nassambly_simulation/assambly_errors.csv\nassambly_simulation/assambly_summary.csv\nassambly_simulation/Construct2_flawed/Construct2_flawed_connections_graph.pdf\nassambly_simulation/Construct2_flawed/error.csv\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/RFP_GFP_BO_10268_01.pdf\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/RFP_GFP_BO_10244_01.pdf\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/RFP_GFP_BO_10281_01.pdf\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/p1_mRFP1-part1_01.pdf\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/p3_mRFP1-part3_01.pdf\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/p7_backbone_01.pdf\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/RFP_GFP_BO_10232_01.pdf\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/p4_sfGFP-part1_01.pdf\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/p5_sfGFP-part2_01.pdf\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/RFP_GFP_BO_10233_01.pdf\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/p2_mRFP1-part2_01.pdf\nassambly_simulation/Construct2_flawed/fragments_in_Construct2_flawed_homology_mix/p6_sfGFP-part3_01.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/p4_sfGFP-part1.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/RFP_GFP_BO_10233.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/RFP_GFP_BO_10232.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/p6_sfGFP-part3.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/p1_mRFP1-part1.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/p3_mRFP1-part3.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/p2_mRFP1-part2.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/RFP_GFP_BO_10244.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/RFP_GFP_BO_10268.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/RFP_GFP_BO_10281.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/p5_sfGFP-part2.pdf\nassambly_simulation/Construct2_flawed/provided_parts_plots/p7_backbone.pdf\nassambly_simulation/Construct2_flawed/provided_parts_records/p5_sfGFP-part2.gb\nassambly_simulation/Construct2_flawed/provided_parts_records/RFP_GFP_BO_10233.gb\nassambly_simulation/Construct2_flawed/provided_parts_records/p6_sfGFP-part3.gb\nassambly_simulation/Construct2_flawed/provided_parts_records/RFP_GFP_BO_10232.gb\nassambly_simulation/Construct2_flawed/provided_parts_records/p2_mRFP1-part2.gb\nassambly_simulation/Construct2_flawed/provided_parts_records/RFP_GFP_BO_10268.gb\nassambly_simulation/Construct2_flawed/provided_parts_records/p1_mRFP1-part1.gb\nassambly_simulation/Construct2_flawed/provided_parts_records/p7_backbone.gb\nassambly_simulation/Construct2_flawed/provided_parts_records/RFP_GFP_BO_10281.gb\nassambly_simulation/Construct2_flawed/provided_parts_records/RFP_GFP_BO_10244.gb\nassambly_simulation/Construct2_flawed/provided_parts_records/p3_mRFP1-part3.gb\nassambly_simulation/Construct2_flawed/provided_parts_records/p4_sfGFP-part1.gb\nassambly_simulation/Construct1/error.csv\nassambly_simulation/Construct1/Construct1_connections_graph.pdf\nassambly_simulation/Construct1/warnings.csv\nassambly_simulation/Construct1/provided_parts_plots/p4_sfGFP-part1.pdf\nassambly_simulation/Construct1/provided_parts_plots/p6_sfGFP-part3.pdf\nassambly_simulation/Construct1/provided_parts_plots/p1_mRFP1-part1.pdf\nassambly_simulation/Construct1/provided_parts_plots/p3_mRFP1-part3.pdf\nassambly_simulation/Construct1/provided_parts_plots/p2_mRFP1-part2.pdf\nassambly_simulation/Construct1/provided_parts_plots/p5_sfGFP-part2.pdf\nassambly_simulation/Construct1/provided_parts_plots/p7_backbone.pdf\nassambly_simulation/Construct1/fragments_in_Construct1_homology_mix/p1_mRFP1-part1_01.pdf\nassambly_simulation/Construct1/fragments_in_Construct1_homology_mix/p3_mRFP1-part3_01.pdf\nassambly_simulation/Construct1/fragments_in_Construct1_homology_mix/p7_backbone_01.pdf\nassambly_simulation/Construct1/fragments_in_Construct1_homology_mix/p4_sfGFP-part1_01.pdf\nassambly_simulation/Construct1/fragments_in_Construct1_homology_mix/p5_sfGFP-part2_01.pdf\nassambly_simulation/Construct1/fragments_in_Construct1_homology_mix/p2_mRFP1-part2_01.pdf\nassambly_simulation/Construct1/fragments_in_Construct1_homology_mix/p6_sfGFP-part3_01.pdf\nassambly_simulation/Construct1/provided_parts_records/p5_sfGFP-part2.gb\nassambly_simulation/Construct1/provided_parts_records/p6_sfGFP-part3.gb\nassambly_simulation/Construct1/provided_parts_records/p2_mRFP1-part2.gb\nassambly_simulation/Construct1/provided_parts_records/p1_mRFP1-part1.gb\nassambly_simulation/Construct1/provided_parts_records/p7_backbone.gb\nassambly_simulation/Construct1/provided_parts_records/p3_mRFP1-part3.gb\nassambly_simulation/Construct1/provided_parts_records/p4_sfGFP-part1.gb\n",
-                    "update_time": "2025-05-16T08:55:47.617074",
+                    "tool_stderr": "\rassembly:   0%|          | 0/2 [00:00<?, ?it/s, now=None]\r                                                         \r\rassembly:   0%|          | 0/2 [00:00<?, ?it/s, now=None]\rassembly: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 2/2 [00:00<00:00,  2.42it/s, now=None]\r                                                                 \r",
+                    "tool_stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 0, 'errored_assemblies': 2, 'valid_assemblies': 0}\nGenerating assemblies reports...\n",
+                    "update_time": "2025-05-16T12:36:54.097489",
                     "user_email": "planemo@galaxyproject.org",
-                    "user_id": "1d1943aa60deb628"
+                    "user_id": "a7025157dd5d3039"
                 },
                 "status": "success",
                 "test_index": 2,
-                "time_seconds": 24.352636098861694,
+                "time_seconds": 22.133039951324463,
                 "tool_id": "cloning_simulation",
                 "tool_version": "0.1.0+galaxy0"
             },
@@ -671,123 +721,21 @@
                 "inputs": {
                     "adv|use_file_names_as_ids": true,
                     "assembly_csv": {
-                        "id": "c4d206bede85e5c1",
+                        "id": "df13d5ca39cba7c4",
                         "src": "hda"
                     },
                     "assembly_plan_name": "BASICAssembly",
                     "genbank_files": {
-                        "id": "248d7f69d2402068",
+                        "id": "edce0bc0654ca8cc",
                         "src": "hdca"
                     },
                     "topology": "circular"
                 },
                 "job": {
-                    "command_line": "mkdir 'outdir_zip' && python '/home/rkhaled/galaxytools/tools/cloning_simulation/cloning_simulation.py' --parts_files '/tmp/tmps36anksu/files/0/9/d/dataset_09dd12f1-a528-4e2a-a1d3-b9b57e7a02a2.dat,/tmp/tmps36anksu/files/b/e/6/dataset_be63c5f6-6c15-43c9-a467-0f00c3395bcf.dat,/tmp/tmps36anksu/files/2/e/0/dataset_2e03930b-3e9f-45be-9750-42560f39cf14.dat,/tmp/tmps36anksu/files/5/b/d/dataset_5bdbe27f-640f-4db1-bc7b-fcedf4b2737a.dat,/tmp/tmps36anksu/files/c/d/5/dataset_cd53d85a-7ced-4da5-bc73-eb4b74a200e3.dat' --domesticated_seq '' --assembly_csv '/tmp/tmps36anksu/files/e/d/3/dataset_ed3f4797-0002-46e3-a245-70ec97e59118.dat' --assembly_plan_name 'BASICAssembly' --file_name_mapping '/tmp/tmps36anksu/files/0/9/d/dataset_09dd12f1-a528-4e2a-a1d3-b9b57e7a02a2.dat:GFP.gb,/tmp/tmps36anksu/files/b/e/6/dataset_be63c5f6-6c15-43c9-a467-0f00c3395bcf.dat:p15A_kan.gb,/tmp/tmps36anksu/files/2/e/0/dataset_2e03930b-3e9f-45be-9750-42560f39cf14.dat:promoter.gb,/tmp/tmps36anksu/files/5/b/d/dataset_5bdbe27f-640f-4db1-bc7b-fcedf4b2737a.dat:RFP.gb,/tmp/tmps36anksu/files/c/d/5/dataset_cd53d85a-7ced-4da5-bc73-eb4b74a200e3.dat:oligos.fa' --file_name_mapping_dom '' --use_file_names_as_id 'true' --outdir_simulation 'outdir_zip' --output_simulation 'output_zip.zip' --enzyme 'auto' --topology 'circular'&& cp 'output_zip.zip' '/tmp/tmps36anksu/job_working_directory/000/28/outputs/dataset_2ce9e85d-d4e7-4104-833f-9fcac95e2c6d.dat'",
+                    "command_line": "mkdir 'outdir_zip' && mkdir 'outdir_gb' && python '/home/rkhaled/galaxytools/tools/cloning_simulation/cloning_simulation.py' --parts_files '/tmp/tmph0r87skq/files/4/f/0/dataset_4f0d4258-2f50-4a4e-9271-58e8c272856e.dat,/tmp/tmph0r87skq/files/2/7/f/dataset_27f67c7a-5e38-4103-a00b-a9d8234b6686.dat,/tmp/tmph0r87skq/files/4/e/8/dataset_4e880afa-3f37-43a4-982e-36d750aab3d3.dat,/tmp/tmph0r87skq/files/3/7/4/dataset_3746bcc6-ee0c-4936-832f-ce29f808430d.dat,/tmp/tmph0r87skq/files/7/8/8/dataset_788ebd7b-6247-4f96-a3d3-3c3306c210a0.dat' --domesticated_seq '' --assembly_csv '/tmp/tmph0r87skq/files/e/9/7/dataset_e971a6cf-b13e-4a65-a78d-aa22a0ea1fff.dat' --assembly_plan_name 'BASICAssembly' --file_name_mapping '/tmp/tmph0r87skq/files/4/f/0/dataset_4f0d4258-2f50-4a4e-9271-58e8c272856e.dat:GFP.gb,/tmp/tmph0r87skq/files/2/7/f/dataset_27f67c7a-5e38-4103-a00b-a9d8234b6686.dat:p15A_kan.gb,/tmp/tmph0r87skq/files/4/e/8/dataset_4e880afa-3f37-43a4-982e-36d750aab3d3.dat:promoter.gb,/tmp/tmph0r87skq/files/3/7/4/dataset_3746bcc6-ee0c-4936-832f-ce29f808430d.dat:RFP.gb,/tmp/tmph0r87skq/files/7/8/8/dataset_788ebd7b-6247-4f96-a3d3-3c3306c210a0.dat:oligos.fa' --file_name_mapping_dom '' --use_file_names_as_id 'true' --outdir_simulation 'outdir_zip' --outdir_gb 'outdir_gb' --output_simulation 'output_zip.zip' --enzyme 'auto' --topology 'circular'&& cp 'output_zip.zip' '/tmp/tmph0r87skq/job_working_directory/000/28/outputs/dataset_5e0faa51-141c-49d1-ba84-ca8aba27508c.dat'",
                     "command_version": "",
                     "copied_from_job_id": null,
-                    "create_time": "2025-05-16T08:56:09.388287",
-                    "dependencies": [],
-                    "exit_code": 0,
-                    "external_id": "70839",
-                    "galaxy_version": "24.2",
-                    "handler": null,
-                    "history_id": "248d7f69d2402068",
-                    "id": "ecaf8d4d1aeb8c86",
-                    "inputs": {
-                        "assembly_csv": {
-                            "id": "c4d206bede85e5c1",
-                            "src": "hda",
-                            "uuid": "ed3f4797-0002-46e3-a245-70ec97e59118"
-                        },
-                        "genbank_files1": {
-                            "id": "065a19c3622776e9",
-                            "src": "hda",
-                            "uuid": "09dd12f1-a528-4e2a-a1d3-b9b57e7a02a2"
-                        },
-                        "genbank_files2": {
-                            "id": "ac67f4a6521db48c",
-                            "src": "hda",
-                            "uuid": "be63c5f6-6c15-43c9-a467-0f00c3395bcf"
-                        },
-                        "genbank_files3": {
-                            "id": "77ed38528f61eafd",
-                            "src": "hda",
-                            "uuid": "2e03930b-3e9f-45be-9750-42560f39cf14"
-                        },
-                        "genbank_files4": {
-                            "id": "626b9fd2eae5943c",
-                            "src": "hda",
-                            "uuid": "5bdbe27f-640f-4db1-bc7b-fcedf4b2737a"
-                        },
-                        "genbank_files5": {
-                            "id": "4a4771cb4e71e8ed",
-                            "src": "hda",
-                            "uuid": "cd53d85a-7ced-4da5-bc73-eb4b74a200e3"
-                        }
-                    },
-                    "job_messages": [],
-                    "job_metrics": [],
-                    "job_runner_name": null,
-                    "job_stderr": "",
-                    "job_stdout": "",
-                    "model_class": "Job",
-                    "output_collections": {},
-                    "outputs": {
-                        "output_zip": {
-                            "id": "ecaf8d4d1aeb8c86",
-                            "src": "hda",
-                            "uuid": "2ce9e85d-d4e7-4104-833f-9fcac95e2c6d"
-                        }
-                    },
-                    "params": {
-                        "__input_ext": "\"input\"",
-                        "adv": "{\"enzyme\": \"auto\", \"use_file_names_as_ids\": true}",
-                        "assembly_plan_name": "\"BASICAssembly\"",
-                        "chromInfo": "\"/tmp/tmps36anksu/galaxy-dev/tool-data/shared/ucsc/chrom/?.len\"",
-                        "dbkey": "\"?\"",
-                        "domesticated_input": null,
-                        "genbank_files": "{\"values\": [{\"id\": 4, \"src\": \"hdca\"}]}",
-                        "topology": "\"circular\""
-                    },
-                    "state": "ok",
-                    "stderr": "\rassembly:   0%|          | 0/10 [00:00<?, ?it/s, now=None]\r                                                          \r\rassembly:   0%|          | 0/8 [00:00<?, ?it/s, now=None]\rassembly:  62%|\u2588\u2588\u2588\u2588\u2588\u2588\u258e   | 5/8 [00:00<00:00, 49.95it/s, now=None]\r                                                                 \r",
-                    "stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 2, 'errored_assemblies': 8, 'valid_assemblies': 0}\nGenerating assemblies reports...\nFiles in the zip archive:\nassambly_simulation/assambly_all_required_parts.txt\nassambly_simulation/assambly_simulation_stats.csv\nassambly_simulation/Report.pdf\nassambly_simulation/assambly_cancelled_assemblies.csv\nassambly_simulation/assambly_errors.csv\nassambly_simulation/assembly_plan_graph.pdf\nassambly_simulation/assambly_summary.csv\nassambly_simulation/LMA-S/error.csv\nassambly_simulation/LMA-S/provided_parts_plots/LMA-S_fwd.pdf\nassambly_simulation/LMA-S/provided_parts_plots/LMA-S_adapter.pdf\nassambly_simulation/LMA-S/provided_parts_records/LMA-S_adapter.gb\nassambly_simulation/LMA-S/provided_parts_records/LMA-S_fwd.gb\nassambly_simulation/L2RBS-xS/error.csv\nassambly_simulation/L2RBS-xS/provided_parts_plots/L2RBS-xS_adapter.pdf\nassambly_simulation/L2RBS-xS/provided_parts_plots/L2RBS-xS_fwd.pdf\nassambly_simulation/L2RBS-xS/provided_parts_records/L2RBS-xS_fwd.gb\nassambly_simulation/L2RBS-xS/provided_parts_records/L2RBS-xS_adapter.gb\nassambly_simulation/L1RBS-xS/error.csv\nassambly_simulation/L1RBS-xS/provided_parts_plots/L1RBS-xS_adapter.pdf\nassambly_simulation/L1RBS-xS/provided_parts_plots/L1RBS-xS_fwd.pdf\nassambly_simulation/L1RBS-xS/provided_parts_records/L1RBS-xS_fwd.gb\nassambly_simulation/L1RBS-xS/provided_parts_records/L1RBS-xS_adapter.gb\nassambly_simulation/LMB-P/error.csv\nassambly_simulation/LMB-P/provided_parts_plots/LMB-P_adapter.pdf\nassambly_simulation/LMB-P/provided_parts_plots/LMB-P_fwd.pdf\nassambly_simulation/LMB-P/provided_parts_records/LMB-P_fwd.gb\nassambly_simulation/LMB-P/provided_parts_records/LMB-P_adapter.gb\nassambly_simulation/L1RBS-1P/error.csv\nassambly_simulation/L1RBS-1P/provided_parts_plots/L1RBS-1P_fwd.pdf\nassambly_simulation/L1RBS-1P/provided_parts_plots/L1RBS-1P_adapter.pdf\nassambly_simulation/L1RBS-1P/provided_parts_records/L1RBS-1P_adapter.gb\nassambly_simulation/L1RBS-1P/provided_parts_records/L1RBS-1P_fwd.gb\nassambly_simulation/L2RBS-1P/error.csv\nassambly_simulation/L2RBS-1P/provided_parts_plots/L2RBS-1P_fwd.pdf\nassambly_simulation/L2RBS-1P/provided_parts_plots/L2RBS-1P_adapter.pdf\nassambly_simulation/L2RBS-1P/provided_parts_records/L2RBS-1P_adapter.gb\nassambly_simulation/L2RBS-1P/provided_parts_records/L2RBS-1P_fwd.gb\nassambly_simulation/LMA-P/error.csv\nassambly_simulation/LMA-P/provided_parts_plots/LMA-P_fwd.pdf\nassambly_simulation/LMA-P/provided_parts_plots/LMA-P_adapter.pdf\nassambly_simulation/LMA-P/provided_parts_records/LMA-P_fwd.gb\nassambly_simulation/LMA-P/provided_parts_records/LMA-P_adapter.gb\nassambly_simulation/LMB-S/error.csv\nassambly_simulation/LMB-S/provided_parts_plots/LMB-S_fwd.pdf\nassambly_simulation/LMB-S/provided_parts_plots/LMB-S_adapter.pdf\nassambly_simulation/LMB-S/provided_parts_records/LMB-S_fwd.gb\nassambly_simulation/LMB-S/provided_parts_records/LMB-S_adapter.gb\n",
-                    "tool_id": "cloning_simulation",
-                    "tool_stderr": "\rassembly:   0%|          | 0/10 [00:00<?, ?it/s, now=None]\r                                                          \r\rassembly:   0%|          | 0/8 [00:00<?, ?it/s, now=None]\rassembly:  62%|\u2588\u2588\u2588\u2588\u2588\u2588\u258e   | 5/8 [00:00<00:00, 49.95it/s, now=None]\r                                                                 \r",
-                    "tool_stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 2, 'errored_assemblies': 8, 'valid_assemblies': 0}\nGenerating assemblies reports...\nFiles in the zip archive:\nassambly_simulation/assambly_all_required_parts.txt\nassambly_simulation/assambly_simulation_stats.csv\nassambly_simulation/Report.pdf\nassambly_simulation/assambly_cancelled_assemblies.csv\nassambly_simulation/assambly_errors.csv\nassambly_simulation/assembly_plan_graph.pdf\nassambly_simulation/assambly_summary.csv\nassambly_simulation/LMA-S/error.csv\nassambly_simulation/LMA-S/provided_parts_plots/LMA-S_fwd.pdf\nassambly_simulation/LMA-S/provided_parts_plots/LMA-S_adapter.pdf\nassambly_simulation/LMA-S/provided_parts_records/LMA-S_adapter.gb\nassambly_simulation/LMA-S/provided_parts_records/LMA-S_fwd.gb\nassambly_simulation/L2RBS-xS/error.csv\nassambly_simulation/L2RBS-xS/provided_parts_plots/L2RBS-xS_adapter.pdf\nassambly_simulation/L2RBS-xS/provided_parts_plots/L2RBS-xS_fwd.pdf\nassambly_simulation/L2RBS-xS/provided_parts_records/L2RBS-xS_fwd.gb\nassambly_simulation/L2RBS-xS/provided_parts_records/L2RBS-xS_adapter.gb\nassambly_simulation/L1RBS-xS/error.csv\nassambly_simulation/L1RBS-xS/provided_parts_plots/L1RBS-xS_adapter.pdf\nassambly_simulation/L1RBS-xS/provided_parts_plots/L1RBS-xS_fwd.pdf\nassambly_simulation/L1RBS-xS/provided_parts_records/L1RBS-xS_fwd.gb\nassambly_simulation/L1RBS-xS/provided_parts_records/L1RBS-xS_adapter.gb\nassambly_simulation/LMB-P/error.csv\nassambly_simulation/LMB-P/provided_parts_plots/LMB-P_adapter.pdf\nassambly_simulation/LMB-P/provided_parts_plots/LMB-P_fwd.pdf\nassambly_simulation/LMB-P/provided_parts_records/LMB-P_fwd.gb\nassambly_simulation/LMB-P/provided_parts_records/LMB-P_adapter.gb\nassambly_simulation/L1RBS-1P/error.csv\nassambly_simulation/L1RBS-1P/provided_parts_plots/L1RBS-1P_fwd.pdf\nassambly_simulation/L1RBS-1P/provided_parts_plots/L1RBS-1P_adapter.pdf\nassambly_simulation/L1RBS-1P/provided_parts_records/L1RBS-1P_adapter.gb\nassambly_simulation/L1RBS-1P/provided_parts_records/L1RBS-1P_fwd.gb\nassambly_simulation/L2RBS-1P/error.csv\nassambly_simulation/L2RBS-1P/provided_parts_plots/L2RBS-1P_fwd.pdf\nassambly_simulation/L2RBS-1P/provided_parts_plots/L2RBS-1P_adapter.pdf\nassambly_simulation/L2RBS-1P/provided_parts_records/L2RBS-1P_adapter.gb\nassambly_simulation/L2RBS-1P/provided_parts_records/L2RBS-1P_fwd.gb\nassambly_simulation/LMA-P/error.csv\nassambly_simulation/LMA-P/provided_parts_plots/LMA-P_fwd.pdf\nassambly_simulation/LMA-P/provided_parts_plots/LMA-P_adapter.pdf\nassambly_simulation/LMA-P/provided_parts_records/LMA-P_fwd.gb\nassambly_simulation/LMA-P/provided_parts_records/LMA-P_adapter.gb\nassambly_simulation/LMB-S/error.csv\nassambly_simulation/LMB-S/provided_parts_plots/LMB-S_fwd.pdf\nassambly_simulation/LMB-S/provided_parts_plots/LMB-S_adapter.pdf\nassambly_simulation/LMB-S/provided_parts_records/LMB-S_fwd.gb\nassambly_simulation/LMB-S/provided_parts_records/LMB-S_adapter.gb\n",
-                    "update_time": "2025-05-16T08:56:20.015826",
-                    "user_email": "planemo@galaxyproject.org",
-                    "user_id": "1d1943aa60deb628"
-                },
-                "status": "success",
-                "test_index": 3,
-                "time_seconds": 32.09558367729187,
-                "tool_id": "cloning_simulation",
-                "tool_version": "0.1.0+galaxy0"
-            },
-            "has_data": true,
-            "id": "cloning_simulation-3"
-        },
-        {
-            "data": {
-                "inputs": {
-                    "adv|use_file_names_as_ids": true,
-                    "assembly_csv": {
-                        "id": "1b325227d95fdc76",
-                        "src": "hda"
-                    },
-                    "assembly_plan_name": "BioBrickStandardAssembly",
-                    "genbank_files": {
-                        "id": "a363c57bce5ddac4",
-                        "src": "hdca"
-                    },
-                    "topology": "circular"
-                },
-                "job": {
-                    "command_line": "mkdir 'outdir_zip' && python '/home/rkhaled/galaxytools/tools/cloning_simulation/cloning_simulation.py' --parts_files '/tmp/tmps36anksu/files/4/8/f/dataset_48f246fb-df3d-4c65-a99e-cc314c9a2d20.dat,/tmp/tmps36anksu/files/5/0/c/dataset_50cb308d-4eb5-4d9d-ae07-011179d84b2e.dat,/tmp/tmps36anksu/files/1/3/b/dataset_13b514d1-710c-46ef-9b83-939acad72375.dat,/tmp/tmps36anksu/files/3/0/b/dataset_30bef7c3-fecb-40f7-b435-daf794d456c1.dat,/tmp/tmps36anksu/files/a/8/7/dataset_a87d7ba7-2092-45e2-9aff-813bb53a02a6.dat' --domesticated_seq '' --assembly_csv '/tmp/tmps36anksu/files/7/e/6/dataset_7e6259bf-8646-4691-b40d-d91bbe52d6c5.dat' --assembly_plan_name 'BioBrickStandardAssembly' --file_name_mapping '/tmp/tmps36anksu/files/4/8/f/dataset_48f246fb-df3d-4c65-a99e-cc314c9a2d20.dat:BBa_E0040_GFP.gb,/tmp/tmps36anksu/files/5/0/c/dataset_50cb308d-4eb5-4d9d-ae07-011179d84b2e.dat:BBa_J23119_prom.gb,/tmp/tmps36anksu/files/1/3/b/dataset_13b514d1-710c-46ef-9b83-939acad72375.dat:BBa_J23119_prom_flawed.gb,/tmp/tmps36anksu/files/3/0/b/dataset_30bef7c3-fecb-40f7-b435-daf794d456c1.dat:BBa_J61048_term.gb,/tmp/tmps36anksu/files/a/8/7/dataset_a87d7ba7-2092-45e2-9aff-813bb53a02a6.dat:BBa_K611094_bar.gb' --file_name_mapping_dom '' --use_file_names_as_id 'true' --outdir_simulation 'outdir_zip' --output_simulation 'output_zip.zip' --enzyme 'auto' --topology 'circular'&& cp 'output_zip.zip' '/tmp/tmps36anksu/job_working_directory/000/35/outputs/dataset_664a6a95-4ce6-4f74-be51-728a9cbd55da.dat'",
-                    "command_version": "",
-                    "copied_from_job_id": null,
-                    "create_time": "2025-05-16T08:56:41.646034",
+                    "create_time": "2025-05-16T12:37:15.245845",
                     "dependencies": [
                         {
                             "cacheable": false,
@@ -805,7 +753,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "flametree",
@@ -827,7 +775,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "biopython",
@@ -849,7 +797,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "proglog",
@@ -871,7 +819,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "pandas",
@@ -893,7 +841,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "dnacauldron",
@@ -915,7 +863,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "pdf-reports",
@@ -937,7 +885,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "sequenticon",
@@ -959,49 +907,49 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "dna_features_viewer",
-                            "version": "3.1.4"
+                            "version": "3.1.5"
                         }
                     ],
                     "exit_code": 0,
-                    "external_id": "71459",
+                    "external_id": "206517",
                     "galaxy_version": "24.2",
                     "handler": null,
-                    "history_id": "a363c57bce5ddac4",
-                    "id": "4d500d87322140a3",
+                    "history_id": "4dd0eedec5562f6e",
+                    "id": "920c0db56b0a806b",
                     "inputs": {
                         "assembly_csv": {
-                            "id": "1b325227d95fdc76",
+                            "id": "df13d5ca39cba7c4",
                             "src": "hda",
-                            "uuid": "7e6259bf-8646-4691-b40d-d91bbe52d6c5"
+                            "uuid": "e971a6cf-b13e-4a65-a78d-aa22a0ea1fff"
                         },
                         "genbank_files1": {
-                            "id": "2d4530cd892a2a69",
+                            "id": "caecbbc14917ac69",
                             "src": "hda",
-                            "uuid": "48f246fb-df3d-4c65-a99e-cc314c9a2d20"
+                            "uuid": "4f0d4258-2f50-4a4e-9271-58e8c272856e"
                         },
                         "genbank_files2": {
-                            "id": "afd885e9dc2aeeee",
+                            "id": "10cd084c8017547c",
                             "src": "hda",
-                            "uuid": "50cb308d-4eb5-4d9d-ae07-011179d84b2e"
+                            "uuid": "27f67c7a-5e38-4103-a00b-a9d8234b6686"
                         },
                         "genbank_files3": {
-                            "id": "ae8033db013a49b9",
+                            "id": "aa3451be0c94f76e",
                             "src": "hda",
-                            "uuid": "13b514d1-710c-46ef-9b83-939acad72375"
+                            "uuid": "4e880afa-3f37-43a4-982e-36d750aab3d3"
                         },
                         "genbank_files4": {
-                            "id": "0661f11e9507b8a6",
+                            "id": "a5f159065ae97d01",
                             "src": "hda",
-                            "uuid": "30bef7c3-fecb-40f7-b435-daf794d456c1"
+                            "uuid": "3746bcc6-ee0c-4936-832f-ce29f808430d"
                         },
                         "genbank_files5": {
-                            "id": "fcc678ee7e8e9f81",
+                            "id": "a001a939426dadd1",
                             "src": "hda",
-                            "uuid": "a87d7ba7-2092-45e2-9aff-813bb53a02a6"
+                            "uuid": "788ebd7b-6247-4f96-a3d3-3c3306c210a0"
                         }
                     },
                     "job_messages": [],
@@ -1010,67 +958,68 @@
                     "job_stderr": "",
                     "job_stdout": "",
                     "model_class": "Job",
-                    "output_collections": {},
+                    "output_collections": {
+                        "construct_gb": {
+                            "id": "052d0d471d180256",
+                            "src": "hdca"
+                        }
+                    },
                     "outputs": {
                         "output_zip": {
-                            "id": "4d500d87322140a3",
+                            "id": "081ab14c99ce168b",
                             "src": "hda",
-                            "uuid": "664a6a95-4ce6-4f74-be51-728a9cbd55da"
+                            "uuid": "5e0faa51-141c-49d1-ba84-ca8aba27508c"
                         }
                     },
                     "params": {
                         "__input_ext": "\"input\"",
                         "adv": "{\"enzyme\": \"auto\", \"use_file_names_as_ids\": true}",
-                        "assembly_plan_name": "\"BioBrickStandardAssembly\"",
-                        "chromInfo": "\"/tmp/tmps36anksu/galaxy-dev/tool-data/shared/ucsc/chrom/?.len\"",
+                        "assembly_plan_name": "\"BASICAssembly\"",
+                        "chromInfo": "\"/tmp/tmph0r87skq/galaxy-dev/tool-data/shared/ucsc/chrom/?.len\"",
                         "dbkey": "\"?\"",
                         "domesticated_input": null,
-                        "genbank_files": "{\"values\": [{\"id\": 5, \"src\": \"hdca\"}]}",
+                        "genbank_files": "{\"values\": [{\"id\": 7, \"src\": \"hdca\"}]}",
                         "topology": "\"circular\""
                     },
                     "state": "ok",
-                    "stderr": "\rassembly:   0%|          | 0/3 [00:00<?, ?it/s, now=None]\r                                                         \r\rassembly:   0%|          | 0/3 [00:00<?, ?it/s, now=None]\rassembly:  67%|\u2588\u2588\u2588\u2588\u2588\u2588\u258b   | 2/3 [00:01<00:00,  1.96it/s, now=None]\rassembly: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 3/3 [00:01<00:00,  1.59it/s, now=None]\r                                                                 \r",
-                    "stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 0, 'errored_assemblies': 0, 'valid_assemblies': 3}\nGenerating assemblies reports...\nFiles in the zip archive:\nassambly_simulation/assambly_all_required_parts.txt\nassambly_simulation/assambly_constructs_level_2.csv\nassambly_simulation/assambly_simulation_stats.csv\nassambly_simulation/assambly_constructs_level_1.csv\nassambly_simulation/Report.pdf\nassambly_simulation/assembly_plan_graph.pdf\nassambly_simulation/assambly_summary.csv\nassambly_simulation/C3_final/C3_final_C1_prom_barcode_E+S_restriction_parts_graph.pdf\nassambly_simulation/C3_final/C3_final_C2_gfp_term_E+X_restriction_connections_graph.pdf\nassambly_simulation/C3_final/C3_final_assembly_mix_connections_graph.pdf\nassambly_simulation/C3_final/C3_final_C1_prom_barcode_E+S_restriction_connections_graph.pdf\nassambly_simulation/C3_final/C3_final_C2_gfp_term_E+X_restriction_parts_graph.pdf\nassambly_simulation/C3_final/C3_final_assembly_mix_parts_graph.pdf\nassambly_simulation/C3_final/C3_final.gb\nassambly_simulation/C3_final/C3_final_summary.csv\nassambly_simulation/C3_final/C3_final.pdf\nassambly_simulation/C3_final/provided_parts_records/C1_prom_barcode.gb\nassambly_simulation/C3_final/provided_parts_records/C2_gfp_term.gb\nassambly_simulation/C2_gfp_term/C2_gfp_term_BBa_E0040_GFP_E+S_restriction_parts_graph.pdf\nassambly_simulation/C2_gfp_term/C2_gfp_term_assembly_mix_parts_graph.pdf\nassambly_simulation/C2_gfp_term/C2_gfp_term_BBa_J61048_term_E+X_restriction_parts_graph.pdf\nassambly_simulation/C2_gfp_term/C2_gfp_term.gb\nassambly_simulation/C2_gfp_term/C2_gfp_term_BBa_J61048_term_E+X_restriction_connections_graph.pdf\nassambly_simulation/C2_gfp_term/C2_gfp_term_assembly_mix_connections_graph.pdf\nassambly_simulation/C2_gfp_term/C2_gfp_term_BBa_E0040_GFP_E+S_restriction_connections_graph.pdf\nassambly_simulation/C2_gfp_term/C2_gfp_term.pdf\nassambly_simulation/C2_gfp_term/C2_gfp_term_summary.csv\nassambly_simulation/C2_gfp_term/provided_parts_records/BBa_J61048_term.gb\nassambly_simulation/C2_gfp_term/provided_parts_records/BBa_E0040_GFP.gb\nassambly_simulation/all_construct_records/C1_prom_barcode.gb\nassambly_simulation/all_construct_records/C2_gfp_term.gb\nassambly_simulation/all_construct_records/C3_final.gb\nassambly_simulation/part_records/BBa_J61048_term.gb\nassambly_simulation/part_records/BBa_K611094_bar.gb\nassambly_simulation/part_records/BBa_E0040_GFP.gb\nassambly_simulation/part_records/BBa_J23119_prom.gb\nassambly_simulation/C1_prom_barcode/C1_prom_barcode_BBa_J23119_prom_E+X_restriction_parts_graph.pdf\nassambly_simulation/C1_prom_barcode/C1_prom_barcode.gb\nassambly_simulation/C1_prom_barcode/C1_prom_barcode_assembly_mix_connections_graph.pdf\nassambly_simulation/C1_prom_barcode/C1_prom_barcode_BBa_K611094_bar_E+S_restriction_parts_graph.pdf\nassambly_simulation/C1_prom_barcode/C1_prom_barcode_BBa_K611094_bar_E+S_restriction_connections_graph.pdf\nassambly_simulation/C1_prom_barcode/C1_prom_barcode.pdf\nassambly_simulation/C1_prom_barcode/C1_prom_barcode_summary.csv\nassambly_simulation/C1_prom_barcode/C1_prom_barcode_assembly_mix_parts_graph.pdf\nassambly_simulation/C1_prom_barcode/C1_prom_barcode_BBa_J23119_prom_E+X_restriction_connections_graph.pdf\nassambly_simulation/C1_prom_barcode/provided_parts_records/BBa_K611094_bar.gb\nassambly_simulation/C1_prom_barcode/provided_parts_records/BBa_J23119_prom.gb\n",
+                    "stderr": "\rassembly:   0%|          | 0/10 [00:00<?, ?it/s, now=None]\r                                                          \r\rassembly:   0%|          | 0/8 [00:00<?, ?it/s, now=None]\rassembly:  62%|\u2588\u2588\u2588\u2588\u2588\u2588\u258e   | 5/8 [00:00<00:00, 49.70it/s, now=None]\r                                                                 \r",
+                    "stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 2, 'errored_assemblies': 8, 'valid_assemblies': 0}\nGenerating assemblies reports...\n",
                     "tool_id": "cloning_simulation",
-                    "tool_stderr": "\rassembly:   0%|          | 0/3 [00:00<?, ?it/s, now=None]\r                                                         \r\rassembly:   0%|          | 0/3 [00:00<?, ?it/s, now=None]\rassembly:  67%|\u2588\u2588\u2588\u2588\u2588\u2588\u258b   | 2/3 [00:01<00:00,  1.96it/s, now=None]\rassembly: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 3/3 [00:01<00:00,  1.59it/s, now=None]\r                                                                 \r",
-                    "tool_stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 0, 'errored_assemblies': 0, 'valid_assemblies': 3}\nGenerating assemblies reports...\nFiles in the zip archive:\nassambly_simulation/assambly_all_required_parts.txt\nassambly_simulation/assambly_constructs_level_2.csv\nassambly_simulation/assambly_simulation_stats.csv\nassambly_simulation/assambly_constructs_level_1.csv\nassambly_simulation/Report.pdf\nassambly_simulation/assembly_plan_graph.pdf\nassambly_simulation/assambly_summary.csv\nassambly_simulation/C3_final/C3_final_C1_prom_barcode_E+S_restriction_parts_graph.pdf\nassambly_simulation/C3_final/C3_final_C2_gfp_term_E+X_restriction_connections_graph.pdf\nassambly_simulation/C3_final/C3_final_assembly_mix_connections_graph.pdf\nassambly_simulation/C3_final/C3_final_C1_prom_barcode_E+S_restriction_connections_graph.pdf\nassambly_simulation/C3_final/C3_final_C2_gfp_term_E+X_restriction_parts_graph.pdf\nassambly_simulation/C3_final/C3_final_assembly_mix_parts_graph.pdf\nassambly_simulation/C3_final/C3_final.gb\nassambly_simulation/C3_final/C3_final_summary.csv\nassambly_simulation/C3_final/C3_final.pdf\nassambly_simulation/C3_final/provided_parts_records/C1_prom_barcode.gb\nassambly_simulation/C3_final/provided_parts_records/C2_gfp_term.gb\nassambly_simulation/C2_gfp_term/C2_gfp_term_BBa_E0040_GFP_E+S_restriction_parts_graph.pdf\nassambly_simulation/C2_gfp_term/C2_gfp_term_assembly_mix_parts_graph.pdf\nassambly_simulation/C2_gfp_term/C2_gfp_term_BBa_J61048_term_E+X_restriction_parts_graph.pdf\nassambly_simulation/C2_gfp_term/C2_gfp_term.gb\nassambly_simulation/C2_gfp_term/C2_gfp_term_BBa_J61048_term_E+X_restriction_connections_graph.pdf\nassambly_simulation/C2_gfp_term/C2_gfp_term_assembly_mix_connections_graph.pdf\nassambly_simulation/C2_gfp_term/C2_gfp_term_BBa_E0040_GFP_E+S_restriction_connections_graph.pdf\nassambly_simulation/C2_gfp_term/C2_gfp_term.pdf\nassambly_simulation/C2_gfp_term/C2_gfp_term_summary.csv\nassambly_simulation/C2_gfp_term/provided_parts_records/BBa_J61048_term.gb\nassambly_simulation/C2_gfp_term/provided_parts_records/BBa_E0040_GFP.gb\nassambly_simulation/all_construct_records/C1_prom_barcode.gb\nassambly_simulation/all_construct_records/C2_gfp_term.gb\nassambly_simulation/all_construct_records/C3_final.gb\nassambly_simulation/part_records/BBa_J61048_term.gb\nassambly_simulation/part_records/BBa_K611094_bar.gb\nassambly_simulation/part_records/BBa_E0040_GFP.gb\nassambly_simulation/part_records/BBa_J23119_prom.gb\nassambly_simulation/C1_prom_barcode/C1_prom_barcode_BBa_J23119_prom_E+X_restriction_parts_graph.pdf\nassambly_simulation/C1_prom_barcode/C1_prom_barcode.gb\nassambly_simulation/C1_prom_barcode/C1_prom_barcode_assembly_mix_connections_graph.pdf\nassambly_simulation/C1_prom_barcode/C1_prom_barcode_BBa_K611094_bar_E+S_restriction_parts_graph.pdf\nassambly_simulation/C1_prom_barcode/C1_prom_barcode_BBa_K611094_bar_E+S_restriction_connections_graph.pdf\nassambly_simulation/C1_prom_barcode/C1_prom_barcode.pdf\nassambly_simulation/C1_prom_barcode/C1_prom_barcode_summary.csv\nassambly_simulation/C1_prom_barcode/C1_prom_barcode_assembly_mix_parts_graph.pdf\nassambly_simulation/C1_prom_barcode/C1_prom_barcode_BBa_J23119_prom_E+X_restriction_connections_graph.pdf\nassambly_simulation/C1_prom_barcode/provided_parts_records/BBa_K611094_bar.gb\nassambly_simulation/C1_prom_barcode/provided_parts_records/BBa_J23119_prom.gb\n",
-                    "update_time": "2025-05-16T08:56:55.140287",
+                    "tool_stderr": "\rassembly:   0%|          | 0/10 [00:00<?, ?it/s, now=None]\r                                                          \r\rassembly:   0%|          | 0/8 [00:00<?, ?it/s, now=None]\rassembly:  62%|\u2588\u2588\u2588\u2588\u2588\u2588\u258e   | 5/8 [00:00<00:00, 49.70it/s, now=None]\r                                                                 \r",
+                    "tool_stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 2, 'errored_assemblies': 8, 'valid_assemblies': 0}\nGenerating assemblies reports...\n",
+                    "update_time": "2025-05-16T12:37:25.925491",
                     "user_email": "planemo@galaxyproject.org",
-                    "user_id": "1d1943aa60deb628"
+                    "user_id": "a7025157dd5d3039"
                 },
                 "status": "success",
-                "test_index": 4,
-                "time_seconds": 34.888214349746704,
+                "test_index": 3,
+                "time_seconds": 31.832648515701294,
                 "tool_id": "cloning_simulation",
                 "tool_version": "0.1.0+galaxy0"
             },
             "has_data": true,
-            "id": "cloning_simulation-4"
+            "id": "cloning_simulation-3"
         },
         {
             "data": {
                 "inputs": {
                     "adv|use_file_names_as_ids": true,
                     "assembly_csv": {
-                        "id": "a727d841eabfe479",
+                        "id": "6af8c0d3c72d39ba",
                         "src": "hda"
                     },
-                    "assembly_plan_name": "Type2sRestrictionAssembly",
-                    "domesticated_input": {
-                        "id": "8ab843ac4a5890da",
-                        "src": "hdca"
-                    },
+                    "assembly_plan_name": "BioBrickStandardAssembly",
                     "genbank_files": {
-                        "id": "6206f91299006d13",
+                        "id": "5827a0347340e98b",
                         "src": "hdca"
                     },
                     "topology": "circular"
                 },
                 "job": {
-                    "command_line": "mkdir 'outdir_zip' && python '/home/rkhaled/galaxytools/tools/cloning_simulation/cloning_simulation.py' --parts_files '/tmp/tmps36anksu/files/2/b/3/dataset_2b34f95b-2776-40a7-ac0a-abdb3d2b151f.dat,/tmp/tmps36anksu/files/8/1/5/dataset_81535329-42d0-4e9d-a713-beb8033e2db9.dat,/tmp/tmps36anksu/files/d/b/b/dataset_dbbc8408-63b6-4265-8878-94942c7b2016.dat,/tmp/tmps36anksu/files/4/1/d/dataset_41d94b9c-f2f0-4253-88bb-896b26fdb7a0.dat,/tmp/tmps36anksu/files/4/8/a/dataset_48a630fc-ea4b-4c19-8b0b-fb78db4bff7d.dat,/tmp/tmps36anksu/files/4/5/9/dataset_459d85d8-4869-4d03-bd2a-d083e4ecf818.dat,/tmp/tmps36anksu/files/1/b/1/dataset_1b189627-18cd-4c7c-8d19-46371420574a.dat' --domesticated_seq '/tmp/tmps36anksu/files/6/a/2/dataset_6a2287bd-1281-4c99-89a6-e4af944c272a.dat,/tmp/tmps36anksu/files/2/c/9/dataset_2c942443-9fa9-48a9-bf35-2f8c2258967b.dat,/tmp/tmps36anksu/files/b/e/c/dataset_becfbff9-15f1-4830-b192-93e7892f371d.dat,/tmp/tmps36anksu/files/8/7/6/dataset_876d6160-fcd5-49e1-ae58-aa8d30c94e09.dat,/tmp/tmps36anksu/files/3/a/8/dataset_3a81169d-4569-4c6d-9417-a3c5924f8649.dat' --assembly_csv '/tmp/tmps36anksu/files/4/a/b/dataset_4abb21a9-cb77-4f0c-9a76-3c01fd662d2a.dat' --assembly_plan_name 'Type2sRestrictionAssembly' --file_name_mapping '/tmp/tmps36anksu/files/2/b/3/dataset_2b34f95b-2776-40a7-ac0a-abdb3d2b151f.dat:part_A.gb,/tmp/tmps36anksu/files/8/1/5/dataset_81535329-42d0-4e9d-a713-beb8033e2db9.dat:part_B.gb,/tmp/tmps36anksu/files/d/b/b/dataset_dbbc8408-63b6-4265-8878-94942c7b2016.dat:part_C.gb,/tmp/tmps36anksu/files/4/1/d/dataset_41d94b9c-f2f0-4253-88bb-896b26fdb7a0.dat:part_D.gb,/tmp/tmps36anksu/files/4/8/a/dataset_48a630fc-ea4b-4c19-8b0b-fb78db4bff7d.dat:part_E.gb,/tmp/tmps36anksu/files/4/5/9/dataset_459d85d8-4869-4d03-bd2a-d083e4ecf818.dat:part_F.gb,/tmp/tmps36anksu/files/1/b/1/dataset_1b189627-18cd-4c7c-8d19-46371420574a.dat:part_G.gb' --file_name_mapping_dom '/tmp/tmps36anksu/files/6/a/2/dataset_6a2287bd-1281-4c99-89a6-e4af944c272a.dat:part_H.gb,/tmp/tmps36anksu/files/2/c/9/dataset_2c942443-9fa9-48a9-bf35-2f8c2258967b.dat:part_I.gb,/tmp/tmps36anksu/files/b/e/c/dataset_becfbff9-15f1-4830-b192-93e7892f371d.dat:part_J.gb,/tmp/tmps36anksu/files/8/7/6/dataset_876d6160-fcd5-49e1-ae58-aa8d30c94e09.dat:part_K.gb,/tmp/tmps36anksu/files/3/a/8/dataset_3a81169d-4569-4c6d-9417-a3c5924f8649.dat:part_L.gb' --use_file_names_as_id 'true' --outdir_simulation 'outdir_zip' --output_simulation 'output_zip.zip' --enzyme 'auto' --topology 'circular'&& cp 'output_zip.zip' '/tmp/tmps36anksu/job_working_directory/000/49/outputs/dataset_891d2044-502b-4e4b-b394-575c9e42a36f.dat'",
+                    "command_line": "mkdir 'outdir_zip' && mkdir 'outdir_gb' && python '/home/rkhaled/galaxytools/tools/cloning_simulation/cloning_simulation.py' --parts_files '/tmp/tmph0r87skq/files/7/7/3/dataset_773be428-2d30-4b95-9894-d3758634a3d0.dat,/tmp/tmph0r87skq/files/b/a/c/dataset_bac673f5-074c-4810-9949-59d3b228d83c.dat,/tmp/tmph0r87skq/files/e/5/b/dataset_e5b8dfd0-6e81-47e4-b899-08976d0a1724.dat,/tmp/tmph0r87skq/files/1/5/8/dataset_158cbebb-69fc-4333-b783-e9171b5324d6.dat,/tmp/tmph0r87skq/files/a/5/b/dataset_a5b6ae8b-1068-416f-b0ac-1c44e299cb87.dat' --domesticated_seq '' --assembly_csv '/tmp/tmph0r87skq/files/4/e/d/dataset_4ed60503-3b9f-4204-a8e9-0b96f76b1e49.dat' --assembly_plan_name 'BioBrickStandardAssembly' --file_name_mapping '/tmp/tmph0r87skq/files/7/7/3/dataset_773be428-2d30-4b95-9894-d3758634a3d0.dat:BBa_E0040_GFP.gb,/tmp/tmph0r87skq/files/b/a/c/dataset_bac673f5-074c-4810-9949-59d3b228d83c.dat:BBa_J23119_prom.gb,/tmp/tmph0r87skq/files/e/5/b/dataset_e5b8dfd0-6e81-47e4-b899-08976d0a1724.dat:BBa_J23119_prom_flawed.gb,/tmp/tmph0r87skq/files/1/5/8/dataset_158cbebb-69fc-4333-b783-e9171b5324d6.dat:BBa_J61048_term.gb,/tmp/tmph0r87skq/files/a/5/b/dataset_a5b6ae8b-1068-416f-b0ac-1c44e299cb87.dat:BBa_K611094_bar.gb' --file_name_mapping_dom '' --use_file_names_as_id 'true' --outdir_simulation 'outdir_zip' --outdir_gb 'outdir_gb' --output_simulation 'output_zip.zip' --enzyme 'auto' --topology 'circular'&& cp 'output_zip.zip' '/tmp/tmph0r87skq/job_working_directory/000/35/outputs/dataset_5776ccd7-5dca-4f21-b288-9c15a0b9cdca.dat'",
                     "command_version": "",
                     "copied_from_job_id": null,
-                    "create_time": "2025-05-16T08:57:35.145295",
+                    "create_time": "2025-05-16T12:37:47.708969",
                     "dependencies": [
                         {
                             "cacheable": false,
@@ -1088,7 +1037,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "flametree",
@@ -1110,7 +1059,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "biopython",
@@ -1132,7 +1081,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "proglog",
@@ -1154,7 +1103,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "pandas",
@@ -1176,7 +1125,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "dnacauldron",
@@ -1198,7 +1147,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "pdf-reports",
@@ -1220,7 +1169,7 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "sequenticon",
@@ -1242,84 +1191,49 @@
                                 "versionless": false
                             },
                             "dependency_type": "conda",
-                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-414e7261396ae5d11be85675e1e19db222325018468f2829061591addd560be0",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
                             "exact": true,
                             "model_class": "MergedCondaDependency",
                             "name": "dna_features_viewer",
-                            "version": "3.1.4"
+                            "version": "3.1.5"
                         }
                     ],
                     "exit_code": 0,
-                    "external_id": "72541",
+                    "external_id": "207114",
                     "galaxy_version": "24.2",
                     "handler": null,
-                    "history_id": "8ab843ac4a5890da",
-                    "id": "9d82ca4e11899647",
+                    "history_id": "d1cbd0905c1fc860",
+                    "id": "081ab14c99ce168b",
                     "inputs": {
                         "assembly_csv": {
-                            "id": "a727d841eabfe479",
-                            "src": "hda",
-                            "uuid": "4abb21a9-cb77-4f0c-9a76-3c01fd662d2a"
-                        },
-                        "domesticated_input1": {
-                            "id": "3437b137460a9bf9",
-                            "src": "hda",
-                            "uuid": "6a2287bd-1281-4c99-89a6-e4af944c272a"
-                        },
-                        "domesticated_input2": {
-                            "id": "4e00b6593169f669",
+                            "id": "6af8c0d3c72d39ba",
                             "src": "hda",
-                            "uuid": "2c942443-9fa9-48a9-bf35-2f8c2258967b"
-                        },
-                        "domesticated_input3": {
-                            "id": "348e227de2cf9bbe",
-                            "src": "hda",
-                            "uuid": "becfbff9-15f1-4830-b192-93e7892f371d"
-                        },
-                        "domesticated_input4": {
-                            "id": "cb7d74ca0f50a91c",
-                            "src": "hda",
-                            "uuid": "876d6160-fcd5-49e1-ae58-aa8d30c94e09"
-                        },
-                        "domesticated_input5": {
-                            "id": "f0efc768d058218e",
-                            "src": "hda",
-                            "uuid": "3a81169d-4569-4c6d-9417-a3c5924f8649"
+                            "uuid": "4ed60503-3b9f-4204-a8e9-0b96f76b1e49"
                         },
                         "genbank_files1": {
-                            "id": "4e56a0aaa45feaf7",
+                            "id": "06bb6ed11a5684d2",
                             "src": "hda",
-                            "uuid": "2b34f95b-2776-40a7-ac0a-abdb3d2b151f"
+                            "uuid": "773be428-2d30-4b95-9894-d3758634a3d0"
                         },
                         "genbank_files2": {
-                            "id": "cb872b8bb704ec40",
+                            "id": "f34ce69b933b349e",
                             "src": "hda",
-                            "uuid": "81535329-42d0-4e9d-a713-beb8033e2db9"
+                            "uuid": "bac673f5-074c-4810-9949-59d3b228d83c"
                         },
                         "genbank_files3": {
-                            "id": "90f63057cb36f606",
+                            "id": "c295924a5ace6ae8",
                             "src": "hda",
-                            "uuid": "dbbc8408-63b6-4265-8878-94942c7b2016"
+                            "uuid": "e5b8dfd0-6e81-47e4-b899-08976d0a1724"
                         },
                         "genbank_files4": {
-                            "id": "efde02d124a713a2",
+                            "id": "f3a950b5ccc2e145",
                             "src": "hda",
-                            "uuid": "41d94b9c-f2f0-4253-88bb-896b26fdb7a0"
+                            "uuid": "158cbebb-69fc-4333-b783-e9171b5324d6"
                         },
                         "genbank_files5": {
-                            "id": "81a37b9282573f69",
-                            "src": "hda",
-                            "uuid": "48a630fc-ea4b-4c19-8b0b-fb78db4bff7d"
-                        },
-                        "genbank_files6": {
-                            "id": "9989729bf7df579e",
+                            "id": "486d488c3f12b41a",
                             "src": "hda",
-                            "uuid": "459d85d8-4869-4d03-bd2a-d083e4ecf818"
-                        },
-                        "genbank_files7": {
-                            "id": "bc2865f07ef20436",
-                            "src": "hda",
-                            "uuid": "1b189627-18cd-4c7c-8d19-46371420574a"
+                            "uuid": "a5b6ae8b-1068-416f-b0ac-1c44e299cb87"
                         }
                     },
                     "job_messages": [],
@@ -1328,37 +1242,400 @@
                     "job_stderr": "",
                     "job_stdout": "",
                     "model_class": "Job",
-                    "output_collections": {},
+                    "output_collections": {
+                        "construct_gb": {
+                            "id": "26800a0030991202",
+                            "src": "hdca"
+                        }
+                    },
                     "outputs": {
+                        "__new_primary_file_construct_gb|C1_prom_barcode__": {
+                            "id": "62952fe061c1d5d6",
+                            "src": "hda",
+                            "uuid": "fb185bc3-4c8e-4095-864e-edc42d8c87ab"
+                        },
+                        "__new_primary_file_construct_gb|C2_gfp_term__": {
+                            "id": "14c055702e438446",
+                            "src": "hda",
+                            "uuid": "cb6310a2-1237-4f80-9efa-f149cb896f4d"
+                        },
+                        "__new_primary_file_construct_gb|C3_final__": {
+                            "id": "e9ef3e2f0e439cf2",
+                            "src": "hda",
+                            "uuid": "13db93e9-4505-4542-845c-57029b5e9a89"
+                        },
                         "output_zip": {
-                            "id": "9d82ca4e11899647",
+                            "id": "7f1cb49d27c5ee0d",
                             "src": "hda",
-                            "uuid": "891d2044-502b-4e4b-b394-575c9e42a36f"
+                            "uuid": "5776ccd7-5dca-4f21-b288-9c15a0b9cdca"
+                        }
+                    },
+                    "params": {
+                        "__input_ext": "\"input\"",
+                        "adv": "{\"enzyme\": \"auto\", \"use_file_names_as_ids\": true}",
+                        "assembly_plan_name": "\"BioBrickStandardAssembly\"",
+                        "chromInfo": "\"/tmp/tmph0r87skq/galaxy-dev/tool-data/shared/ucsc/chrom/?.len\"",
+                        "dbkey": "\"?\"",
+                        "domesticated_input": null,
+                        "genbank_files": "{\"values\": [{\"id\": 9, \"src\": \"hdca\"}]}",
+                        "topology": "\"circular\""
+                    },
+                    "state": "ok",
+                    "stderr": "\rassembly:   0%|          | 0/3 [00:00<?, ?it/s, now=None]\r                                                         \r\rassembly:   0%|          | 0/3 [00:00<?, ?it/s, now=None]\rassembly:  67%|\u2588\u2588\u2588\u2588\u2588\u2588\u258b   | 2/3 [00:01<00:00,  1.94it/s, now=None]\rassembly: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 3/3 [00:01<00:00,  1.58it/s, now=None]\r                                                                 \r",
+                    "stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 0, 'errored_assemblies': 0, 'valid_assemblies': 3}\nGenerating assemblies reports...\n",
+                    "tool_id": "cloning_simulation",
+                    "tool_stderr": "\rassembly:   0%|          | 0/3 [00:00<?, ?it/s, now=None]\r                                                         \r\rassembly:   0%|          | 0/3 [00:00<?, ?it/s, now=None]\rassembly:  67%|\u2588\u2588\u2588\u2588\u2588\u2588\u258b   | 2/3 [00:01<00:00,  1.94it/s, now=None]\rassembly: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 3/3 [00:01<00:00,  1.58it/s, now=None]\r                                                                 \r",
+                    "tool_stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 0, 'errored_assemblies': 0, 'valid_assemblies': 3}\nGenerating assemblies reports...\n",
+                    "update_time": "2025-05-16T12:38:00.688550",
+                    "user_email": "planemo@galaxyproject.org",
+                    "user_id": "a7025157dd5d3039"
+                },
+                "status": "success",
+                "test_index": 4,
+                "time_seconds": 34.85270929336548,
+                "tool_id": "cloning_simulation",
+                "tool_version": "0.1.0+galaxy0"
+            },
+            "has_data": true,
+            "id": "cloning_simulation-4"
+        },
+        {
+            "data": {
+                "inputs": {
+                    "adv|use_file_names_as_ids": true,
+                    "assembly_csv": {
+                        "id": "4e0765e9771b7fbe",
+                        "src": "hda"
+                    },
+                    "assembly_plan_name": "Type2sRestrictionAssembly",
+                    "domesticated_input": {
+                        "id": "9e9c740782c078df",
+                        "src": "hdca"
+                    },
+                    "genbank_files": {
+                        "id": "d70a40a14f24deac",
+                        "src": "hdca"
+                    },
+                    "topology": "circular"
+                },
+                "job": {
+                    "command_line": "mkdir 'outdir_zip' && mkdir 'outdir_gb' && python '/home/rkhaled/galaxytools/tools/cloning_simulation/cloning_simulation.py' --parts_files '/tmp/tmph0r87skq/files/b/c/d/dataset_bcd311aa-69db-4f2a-9d04-90f34cd78a6f.dat,/tmp/tmph0r87skq/files/0/4/9/dataset_049931ba-600a-46d6-a73e-af6bd3f545e3.dat,/tmp/tmph0r87skq/files/8/6/0/dataset_860e934f-31f6-4ac6-9eac-fd3abf031b08.dat,/tmp/tmph0r87skq/files/a/a/6/dataset_aa6ecd8a-10b8-416a-95ec-bfbe1fa81d21.dat,/tmp/tmph0r87skq/files/3/d/9/dataset_3d97e337-7388-4fab-a6c3-7cb99f371f84.dat,/tmp/tmph0r87skq/files/b/4/5/dataset_b45031f8-71da-4365-9560-b827aa1d6794.dat,/tmp/tmph0r87skq/files/9/e/2/dataset_9e21455c-b124-4c01-8524-949ff16b570e.dat' --domesticated_seq '/tmp/tmph0r87skq/files/a/f/e/dataset_afe4126c-9cc0-45ec-a7d4-37816cb2132d.dat,/tmp/tmph0r87skq/files/f/a/8/dataset_fa8a7e9a-fa40-4e9f-a508-261fd8441292.dat,/tmp/tmph0r87skq/files/7/d/d/dataset_7ddb44a7-da6d-4215-8d11-1ba01c4f6516.dat,/tmp/tmph0r87skq/files/b/f/f/dataset_bff58a1b-e69e-4cb4-b344-79ba8800ac03.dat,/tmp/tmph0r87skq/files/a/f/8/dataset_af806691-7022-4bf2-a42b-7437042cee37.dat' --assembly_csv '/tmp/tmph0r87skq/files/c/6/5/dataset_c652bef1-f073-431c-9e5b-956a58e85d22.dat' --assembly_plan_name 'Type2sRestrictionAssembly' --file_name_mapping '/tmp/tmph0r87skq/files/b/c/d/dataset_bcd311aa-69db-4f2a-9d04-90f34cd78a6f.dat:part_A.gb,/tmp/tmph0r87skq/files/0/4/9/dataset_049931ba-600a-46d6-a73e-af6bd3f545e3.dat:part_B.gb,/tmp/tmph0r87skq/files/8/6/0/dataset_860e934f-31f6-4ac6-9eac-fd3abf031b08.dat:part_C.gb,/tmp/tmph0r87skq/files/a/a/6/dataset_aa6ecd8a-10b8-416a-95ec-bfbe1fa81d21.dat:part_D.gb,/tmp/tmph0r87skq/files/3/d/9/dataset_3d97e337-7388-4fab-a6c3-7cb99f371f84.dat:part_E.gb,/tmp/tmph0r87skq/files/b/4/5/dataset_b45031f8-71da-4365-9560-b827aa1d6794.dat:part_F.gb,/tmp/tmph0r87skq/files/9/e/2/dataset_9e21455c-b124-4c01-8524-949ff16b570e.dat:part_G.gb' --file_name_mapping_dom '/tmp/tmph0r87skq/files/a/f/e/dataset_afe4126c-9cc0-45ec-a7d4-37816cb2132d.dat:part_H.gb,/tmp/tmph0r87skq/files/f/a/8/dataset_fa8a7e9a-fa40-4e9f-a508-261fd8441292.dat:part_I.gb,/tmp/tmph0r87skq/files/7/d/d/dataset_7ddb44a7-da6d-4215-8d11-1ba01c4f6516.dat:part_J.gb,/tmp/tmph0r87skq/files/b/f/f/dataset_bff58a1b-e69e-4cb4-b344-79ba8800ac03.dat:part_K.gb,/tmp/tmph0r87skq/files/a/f/8/dataset_af806691-7022-4bf2-a42b-7437042cee37.dat:part_L.gb' --use_file_names_as_id 'true' --outdir_simulation 'outdir_zip' --outdir_gb 'outdir_gb' --output_simulation 'output_zip.zip' --enzyme 'auto' --topology 'circular'&& cp 'output_zip.zip' '/tmp/tmph0r87skq/job_working_directory/000/49/outputs/dataset_a88370aa-4d36-4867-b0d6-613cc59ed01a.dat'",
+                    "command_version": "",
+                    "copied_from_job_id": null,
+                    "create_time": "2025-05-16T12:38:41.107674",
+                    "dependencies": [
+                        {
+                            "cacheable": false,
+                            "dependency_resolver": {
+                                "auto_init": true,
+                                "auto_install": true,
+                                "can_uninstall_dependencies": true,
+                                "ensure_channels": "conda-forge,bioconda",
+                                "model_class": "CondaDependencyResolver",
+                                "prefix": "/home/rkhaled/miniconda3",
+                                "read_only": false,
+                                "resolver_type": "conda",
+                                "resolves_simple_dependencies": true,
+                                "use_local": false,
+                                "versionless": false
+                            },
+                            "dependency_type": "conda",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
+                            "exact": true,
+                            "model_class": "MergedCondaDependency",
+                            "name": "flametree",
+                            "version": "0.1.11"
+                        },
+                        {
+                            "cacheable": false,
+                            "dependency_resolver": {
+                                "auto_init": true,
+                                "auto_install": true,
+                                "can_uninstall_dependencies": true,
+                                "ensure_channels": "conda-forge,bioconda",
+                                "model_class": "CondaDependencyResolver",
+                                "prefix": "/home/rkhaled/miniconda3",
+                                "read_only": false,
+                                "resolver_type": "conda",
+                                "resolves_simple_dependencies": true,
+                                "use_local": false,
+                                "versionless": false
+                            },
+                            "dependency_type": "conda",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
+                            "exact": true,
+                            "model_class": "MergedCondaDependency",
+                            "name": "biopython",
+                            "version": "1.85"
+                        },
+                        {
+                            "cacheable": false,
+                            "dependency_resolver": {
+                                "auto_init": true,
+                                "auto_install": true,
+                                "can_uninstall_dependencies": true,
+                                "ensure_channels": "conda-forge,bioconda",
+                                "model_class": "CondaDependencyResolver",
+                                "prefix": "/home/rkhaled/miniconda3",
+                                "read_only": false,
+                                "resolver_type": "conda",
+                                "resolves_simple_dependencies": true,
+                                "use_local": false,
+                                "versionless": false
+                            },
+                            "dependency_type": "conda",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
+                            "exact": true,
+                            "model_class": "MergedCondaDependency",
+                            "name": "proglog",
+                            "version": "0.1.10"
+                        },
+                        {
+                            "cacheable": false,
+                            "dependency_resolver": {
+                                "auto_init": true,
+                                "auto_install": true,
+                                "can_uninstall_dependencies": true,
+                                "ensure_channels": "conda-forge,bioconda",
+                                "model_class": "CondaDependencyResolver",
+                                "prefix": "/home/rkhaled/miniconda3",
+                                "read_only": false,
+                                "resolver_type": "conda",
+                                "resolves_simple_dependencies": true,
+                                "use_local": false,
+                                "versionless": false
+                            },
+                            "dependency_type": "conda",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
+                            "exact": true,
+                            "model_class": "MergedCondaDependency",
+                            "name": "pandas",
+                            "version": "2.2.3"
+                        },
+                        {
+                            "cacheable": false,
+                            "dependency_resolver": {
+                                "auto_init": true,
+                                "auto_install": true,
+                                "can_uninstall_dependencies": true,
+                                "ensure_channels": "conda-forge,bioconda",
+                                "model_class": "CondaDependencyResolver",
+                                "prefix": "/home/rkhaled/miniconda3",
+                                "read_only": false,
+                                "resolver_type": "conda",
+                                "resolves_simple_dependencies": true,
+                                "use_local": false,
+                                "versionless": false
+                            },
+                            "dependency_type": "conda",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
+                            "exact": true,
+                            "model_class": "MergedCondaDependency",
+                            "name": "dnacauldron",
+                            "version": "2.0.12"
+                        },
+                        {
+                            "cacheable": false,
+                            "dependency_resolver": {
+                                "auto_init": true,
+                                "auto_install": true,
+                                "can_uninstall_dependencies": true,
+                                "ensure_channels": "conda-forge,bioconda",
+                                "model_class": "CondaDependencyResolver",
+                                "prefix": "/home/rkhaled/miniconda3",
+                                "read_only": false,
+                                "resolver_type": "conda",
+                                "resolves_simple_dependencies": true,
+                                "use_local": false,
+                                "versionless": false
+                            },
+                            "dependency_type": "conda",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
+                            "exact": true,
+                            "model_class": "MergedCondaDependency",
+                            "name": "pdf-reports",
+                            "version": "0.3.9"
+                        },
+                        {
+                            "cacheable": false,
+                            "dependency_resolver": {
+                                "auto_init": true,
+                                "auto_install": true,
+                                "can_uninstall_dependencies": true,
+                                "ensure_channels": "conda-forge,bioconda",
+                                "model_class": "CondaDependencyResolver",
+                                "prefix": "/home/rkhaled/miniconda3",
+                                "read_only": false,
+                                "resolver_type": "conda",
+                                "resolves_simple_dependencies": true,
+                                "use_local": false,
+                                "versionless": false
+                            },
+                            "dependency_type": "conda",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
+                            "exact": true,
+                            "model_class": "MergedCondaDependency",
+                            "name": "sequenticon",
+                            "version": "0.1.8"
+                        },
+                        {
+                            "cacheable": false,
+                            "dependency_resolver": {
+                                "auto_init": true,
+                                "auto_install": true,
+                                "can_uninstall_dependencies": true,
+                                "ensure_channels": "conda-forge,bioconda",
+                                "model_class": "CondaDependencyResolver",
+                                "prefix": "/home/rkhaled/miniconda3",
+                                "read_only": false,
+                                "resolver_type": "conda",
+                                "resolves_simple_dependencies": true,
+                                "use_local": false,
+                                "versionless": false
+                            },
+                            "dependency_type": "conda",
+                            "environment_path": "/home/rkhaled/miniconda3/envs/mulled-v1-6c2b9ebb475a37bd0d9ca7857474e8574719e546de882810f7828fe5993a8adf",
+                            "exact": true,
+                            "model_class": "MergedCondaDependency",
+                            "name": "dna_features_viewer",
+                            "version": "3.1.5"
+                        }
+                    ],
+                    "exit_code": 0,
+                    "external_id": "208235",
+                    "galaxy_version": "24.2",
+                    "handler": null,
+                    "history_id": "0494b81690cb2f5c",
+                    "id": "1ad8534b5033158f",
+                    "inputs": {
+                        "assembly_csv": {
+                            "id": "4e0765e9771b7fbe",
+                            "src": "hda",
+                            "uuid": "c652bef1-f073-431c-9e5b-956a58e85d22"
+                        },
+                        "domesticated_input1": {
+                            "id": "067523cf02b98b71",
+                            "src": "hda",
+                            "uuid": "afe4126c-9cc0-45ec-a7d4-37816cb2132d"
+                        },
+                        "domesticated_input2": {
+                            "id": "2f0a34076d4435df",
+                            "src": "hda",
+                            "uuid": "fa8a7e9a-fa40-4e9f-a508-261fd8441292"
+                        },
+                        "domesticated_input3": {
+                            "id": "a12a625822f3f961",
+                            "src": "hda",
+                            "uuid": "7ddb44a7-da6d-4215-8d11-1ba01c4f6516"
+                        },
+                        "domesticated_input4": {
+                            "id": "0b82bdc4f78225f4",
+                            "src": "hda",
+                            "uuid": "bff58a1b-e69e-4cb4-b344-79ba8800ac03"
+                        },
+                        "domesticated_input5": {
+                            "id": "5c9f1017a9cfea44",
+                            "src": "hda",
+                            "uuid": "af806691-7022-4bf2-a42b-7437042cee37"
+                        },
+                        "genbank_files1": {
+                            "id": "db55fd2326eb05de",
+                            "src": "hda",
+                            "uuid": "bcd311aa-69db-4f2a-9d04-90f34cd78a6f"
+                        },
+                        "genbank_files2": {
+                            "id": "551b1ccaf842a34c",
+                            "src": "hda",
+                            "uuid": "049931ba-600a-46d6-a73e-af6bd3f545e3"
+                        },
+                        "genbank_files3": {
+                            "id": "aa4b51af1d3e5956",
+                            "src": "hda",
+                            "uuid": "860e934f-31f6-4ac6-9eac-fd3abf031b08"
+                        },
+                        "genbank_files4": {
+                            "id": "1ad8534b5033158f",
+                            "src": "hda",
+                            "uuid": "aa6ecd8a-10b8-416a-95ec-bfbe1fa81d21"
+                        },
+                        "genbank_files5": {
+                            "id": "67e60392c24a116d",
+                            "src": "hda",
+                            "uuid": "3d97e337-7388-4fab-a6c3-7cb99f371f84"
+                        },
+                        "genbank_files6": {
+                            "id": "f0035bfbf96f19ca",
+                            "src": "hda",
+                            "uuid": "b45031f8-71da-4365-9560-b827aa1d6794"
+                        },
+                        "genbank_files7": {
+                            "id": "d2976cafec9acf3d",
+                            "src": "hda",
+                            "uuid": "9e21455c-b124-4c01-8524-949ff16b570e"
+                        }
+                    },
+                    "job_messages": [],
+                    "job_metrics": [],
+                    "job_runner_name": null,
+                    "job_stderr": "",
+                    "job_stdout": "",
+                    "model_class": "Job",
+                    "output_collections": {
+                        "construct_gb": {
+                            "id": "c02153e44a10e06a",
+                            "src": "hdca"
+                        }
+                    },
+                    "outputs": {
+                        "__new_primary_file_construct_gb|construct_1__": {
+                            "id": "a3a16f375ef01612",
+                            "src": "hda",
+                            "uuid": "760d3bcc-0498-4f4a-9420-511468a0b0b3"
+                        },
+                        "__new_primary_file_construct_gb|construct_2__": {
+                            "id": "99e6c6e9665a5a56",
+                            "src": "hda",
+                            "uuid": "9836288d-70fb-464e-b565-90dc8f966379"
+                        },
+                        "__new_primary_file_construct_gb|construct_3__": {
+                            "id": "2d10fdf290562ab3",
+                            "src": "hda",
+                            "uuid": "cf0e5bca-9446-4574-b885-ab1636310493"
+                        },
+                        "__new_primary_file_construct_gb|construct_4__": {
+                            "id": "071f312ace6db7aa",
+                            "src": "hda",
+                            "uuid": "9e552d2e-e5f3-4163-b4b4-6351ec76f0d3"
+                        },
+                        "output_zip": {
+                            "id": "72a012487a44f1a3",
+                            "src": "hda",
+                            "uuid": "a88370aa-4d36-4867-b0d6-613cc59ed01a"
                         }
                     },
                     "params": {
                         "__input_ext": "\"input\"",
                         "adv": "{\"enzyme\": \"auto\", \"use_file_names_as_ids\": true}",
                         "assembly_plan_name": "\"Type2sRestrictionAssembly\"",
-                        "chromInfo": "\"/tmp/tmps36anksu/galaxy-dev/tool-data/shared/ucsc/chrom/?.len\"",
+                        "chromInfo": "\"/tmp/tmph0r87skq/galaxy-dev/tool-data/shared/ucsc/chrom/?.len\"",
                         "dbkey": "\"?\"",
-                        "domesticated_input": "{\"values\": [{\"id\": 6, \"src\": \"hdca\"}]}",
-                        "genbank_files": "{\"values\": [{\"id\": 7, \"src\": \"hdca\"}]}",
+                        "domesticated_input": "{\"values\": [{\"id\": 11, \"src\": \"hdca\"}]}",
+                        "genbank_files": "{\"values\": [{\"id\": 12, \"src\": \"hdca\"}]}",
                         "topology": "\"circular\""
                     },
                     "state": "ok",
-                    "stderr": "\rassembly:   0%|          | 0/4 [00:00<?, ?it/s, now=None]\r                                                         \r\rassembly:   0%|          | 0/4 [00:00<?, ?it/s, now=None]\rassembly:  50%|\u2588\u2588\u2588\u2588\u2588     | 2/4 [00:00<00:00,  2.46it/s, now=None]\rassembly:  75%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c  | 3/4 [00:01<00:00,  2.24it/s, now=None]\rassembly: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 4/4 [00:02<00:00,  1.84it/s, now=None]\r                                                                 \r",
-                    "stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 0, 'errored_assemblies': 0, 'valid_assemblies': 4}\nGenerating assemblies reports...\nFiles in the zip archive:\nassambly_simulation/assambly_all_required_parts.txt\nassambly_simulation/assambly_constructs_level_2.csv\nassambly_simulation/assambly_simulation_stats.csv\nassambly_simulation/assambly_constructs_level_1.csv\nassambly_simulation/Report.pdf\nassambly_simulation/assembly_plan_graph.pdf\nassambly_simulation/assambly_summary.csv\nassambly_simulation/construct_3/construct_3_type2s_mix_parts_graph.pdf\nassambly_simulation/construct_3/construct_3_summary.csv\nassambly_simulation/construct_3/construct_3_type2s_mix_connections_graph.pdf\nassambly_simulation/construct_3/construct_3.gb\nassambly_simulation/construct_3/construct_3.pdf\nassambly_simulation/construct_3/provided_parts_records/part_L.gb\nassambly_simulation/construct_3/provided_parts_records/part_K.gb\nassambly_simulation/construct_3/provided_parts_records/part_J.gb\nassambly_simulation/construct_3/provided_parts_records/construct_1.gb\nassambly_simulation/all_construct_records/construct_2.gb\nassambly_simulation/all_construct_records/construct_3.gb\nassambly_simulation/all_construct_records/construct_4.gb\nassambly_simulation/all_construct_records/construct_1.gb\nassambly_simulation/construct_1/construct_1_type2s_mix_connections_graph.pdf\nassambly_simulation/construct_1/construct_1_summary.csv\nassambly_simulation/construct_1/construct_1_type2s_mix_parts_graph.pdf\nassambly_simulation/construct_1/construct_1.pdf\nassambly_simulation/construct_1/construct_1.gb\nassambly_simulation/construct_1/provided_parts_records/part_F.gb\nassambly_simulation/construct_1/provided_parts_records/part_B.gb\nassambly_simulation/construct_1/provided_parts_records/part_D.gb\nassambly_simulation/construct_1/provided_parts_records/part_A.gb\nassambly_simulation/construct_1/provided_parts_records/part_C.gb\nassambly_simulation/construct_1/provided_parts_records/part_E.gb\nassambly_simulation/part_records/part_L.gb\nassambly_simulation/part_records/part_F.gb\nassambly_simulation/part_records/part_B.gb\nassambly_simulation/part_records/part_K.gb\nassambly_simulation/part_records/part_D.gb\nassambly_simulation/part_records/part_A.gb\nassambly_simulation/part_records/part_C.gb\nassambly_simulation/part_records/part_G.gb\nassambly_simulation/part_records/part_I.gb\nassambly_simulation/part_records/part_E.gb\nassambly_simulation/part_records/part_J.gb\nassambly_simulation/part_records/part_H.gb\nassambly_simulation/construct_2/construct_2_type2s_mix_parts_graph.pdf\nassambly_simulation/construct_2/construct_2.pdf\nassambly_simulation/construct_2/construct_2.gb\nassambly_simulation/construct_2/construct_2_summary.csv\nassambly_simulation/construct_2/construct_2_type2s_mix_connections_graph.pdf\nassambly_simulation/construct_2/provided_parts_records/part_F.gb\nassambly_simulation/construct_2/provided_parts_records/part_A.gb\nassambly_simulation/construct_2/provided_parts_records/part_G.gb\nassambly_simulation/construct_2/provided_parts_records/part_I.gb\nassambly_simulation/construct_2/provided_parts_records/part_H.gb\nassambly_simulation/construct_4/construct_4_type2s_mix_parts_graph.pdf\nassambly_simulation/construct_4/construct_4.pdf\nassambly_simulation/construct_4/construct_4.gb\nassambly_simulation/construct_4/construct_4_summary.csv\nassambly_simulation/construct_4/construct_4_type2s_mix_connections_graph.pdf\nassambly_simulation/construct_4/provided_parts_records/part_L.gb\nassambly_simulation/construct_4/provided_parts_records/part_K.gb\nassambly_simulation/construct_4/provided_parts_records/construct_2.gb\nassambly_simulation/construct_4/provided_parts_records/part_J.gb\n",
+                    "stderr": "\rassembly:   0%|          | 0/4 [00:00<?, ?it/s, now=None]\r                                                         \r\rassembly:   0%|          | 0/4 [00:00<?, ?it/s, now=None]\rassembly:  50%|\u2588\u2588\u2588\u2588\u2588     | 2/4 [00:00<00:00,  2.46it/s, now=None]\rassembly:  75%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c  | 3/4 [00:01<00:00,  2.25it/s, now=None]\rassembly: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 4/4 [00:02<00:00,  1.84it/s, now=None]\r                                                                 \r",
+                    "stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 0, 'errored_assemblies': 0, 'valid_assemblies': 4}\nGenerating assemblies reports...\n",
                     "tool_id": "cloning_simulation",
-                    "tool_stderr": "\rassembly:   0%|          | 0/4 [00:00<?, ?it/s, now=None]\r                                                         \r\rassembly:   0%|          | 0/4 [00:00<?, ?it/s, now=None]\rassembly:  50%|\u2588\u2588\u2588\u2588\u2588     | 2/4 [00:00<00:00,  2.46it/s, now=None]\rassembly:  75%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c  | 3/4 [00:01<00:00,  2.24it/s, now=None]\rassembly: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 4/4 [00:02<00:00,  1.84it/s, now=None]\r                                                                 \r",
-                    "tool_stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 0, 'errored_assemblies': 0, 'valid_assemblies': 4}\nGenerating assemblies reports...\nFiles in the zip archive:\nassambly_simulation/assambly_all_required_parts.txt\nassambly_simulation/assambly_constructs_level_2.csv\nassambly_simulation/assambly_simulation_stats.csv\nassambly_simulation/assambly_constructs_level_1.csv\nassambly_simulation/Report.pdf\nassambly_simulation/assembly_plan_graph.pdf\nassambly_simulation/assambly_summary.csv\nassambly_simulation/construct_3/construct_3_type2s_mix_parts_graph.pdf\nassambly_simulation/construct_3/construct_3_summary.csv\nassambly_simulation/construct_3/construct_3_type2s_mix_connections_graph.pdf\nassambly_simulation/construct_3/construct_3.gb\nassambly_simulation/construct_3/construct_3.pdf\nassambly_simulation/construct_3/provided_parts_records/part_L.gb\nassambly_simulation/construct_3/provided_parts_records/part_K.gb\nassambly_simulation/construct_3/provided_parts_records/part_J.gb\nassambly_simulation/construct_3/provided_parts_records/construct_1.gb\nassambly_simulation/all_construct_records/construct_2.gb\nassambly_simulation/all_construct_records/construct_3.gb\nassambly_simulation/all_construct_records/construct_4.gb\nassambly_simulation/all_construct_records/construct_1.gb\nassambly_simulation/construct_1/construct_1_type2s_mix_connections_graph.pdf\nassambly_simulation/construct_1/construct_1_summary.csv\nassambly_simulation/construct_1/construct_1_type2s_mix_parts_graph.pdf\nassambly_simulation/construct_1/construct_1.pdf\nassambly_simulation/construct_1/construct_1.gb\nassambly_simulation/construct_1/provided_parts_records/part_F.gb\nassambly_simulation/construct_1/provided_parts_records/part_B.gb\nassambly_simulation/construct_1/provided_parts_records/part_D.gb\nassambly_simulation/construct_1/provided_parts_records/part_A.gb\nassambly_simulation/construct_1/provided_parts_records/part_C.gb\nassambly_simulation/construct_1/provided_parts_records/part_E.gb\nassambly_simulation/part_records/part_L.gb\nassambly_simulation/part_records/part_F.gb\nassambly_simulation/part_records/part_B.gb\nassambly_simulation/part_records/part_K.gb\nassambly_simulation/part_records/part_D.gb\nassambly_simulation/part_records/part_A.gb\nassambly_simulation/part_records/part_C.gb\nassambly_simulation/part_records/part_G.gb\nassambly_simulation/part_records/part_I.gb\nassambly_simulation/part_records/part_E.gb\nassambly_simulation/part_records/part_J.gb\nassambly_simulation/part_records/part_H.gb\nassambly_simulation/construct_2/construct_2_type2s_mix_parts_graph.pdf\nassambly_simulation/construct_2/construct_2.pdf\nassambly_simulation/construct_2/construct_2.gb\nassambly_simulation/construct_2/construct_2_summary.csv\nassambly_simulation/construct_2/construct_2_type2s_mix_connections_graph.pdf\nassambly_simulation/construct_2/provided_parts_records/part_F.gb\nassambly_simulation/construct_2/provided_parts_records/part_A.gb\nassambly_simulation/construct_2/provided_parts_records/part_G.gb\nassambly_simulation/construct_2/provided_parts_records/part_I.gb\nassambly_simulation/construct_2/provided_parts_records/part_H.gb\nassambly_simulation/construct_4/construct_4_type2s_mix_parts_graph.pdf\nassambly_simulation/construct_4/construct_4.pdf\nassambly_simulation/construct_4/construct_4.gb\nassambly_simulation/construct_4/construct_4_summary.csv\nassambly_simulation/construct_4/construct_4_type2s_mix_connections_graph.pdf\nassambly_simulation/construct_4/provided_parts_records/part_L.gb\nassambly_simulation/construct_4/provided_parts_records/part_K.gb\nassambly_simulation/construct_4/provided_parts_records/construct_2.gb\nassambly_simulation/construct_4/provided_parts_records/part_J.gb\n",
-                    "update_time": "2025-05-16T08:57:47.925883",
+                    "tool_stderr": "\rassembly:   0%|          | 0/4 [00:00<?, ?it/s, now=None]\r                                                         \r\rassembly:   0%|          | 0/4 [00:00<?, ?it/s, now=None]\rassembly:  50%|\u2588\u2588\u2588\u2588\u2588     | 2/4 [00:00<00:00,  2.46it/s, now=None]\rassembly:  75%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c  | 3/4 [00:01<00:00,  2.25it/s, now=None]\rassembly: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 4/4 [00:02<00:00,  1.84it/s, now=None]\r                                                                 \r",
+                    "tool_stdout": "Simulating assembly plan assambly...\n{'cancelled_assemblies': 0, 'errored_assemblies': 0, 'valid_assemblies': 4}\nGenerating assemblies reports...\n",
+                    "update_time": "2025-05-16T12:38:53.803402",
                     "user_email": "planemo@galaxyproject.org",
-                    "user_id": "1d1943aa60deb628"
+                    "user_id": "a7025157dd5d3039"
                 },
                 "status": "success",
                 "test_index": 5,
-                "time_seconds": 52.77062439918518,
+                "time_seconds": 52.96998858451843,
                 "tool_id": "cloning_simulation",
                 "tool_version": "0.1.0+galaxy0"
             },