# HG changeset patch
# User tduigou
# Date 1747839185 0
# Node ID e1e9859132046d01c556bd6b7ec21bd439bb06e8
# Parent b0134502203bb90d602e9dd07845a3f489c31199
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 6ae809b563b40bcdb6be2e74fe2a84ddad5484ae
diff -r b0134502203b -r e1e985913204 cloning_similation.xml
--- a/cloning_similation.xml Mon May 19 14:14:18 2025 +0000
+++ b/cloning_similation.xml Wed May 21 14:53:05 2025 +0000
@@ -16,13 +16,14 @@
-
+
-
+
@@ -305,11 +306,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
`_).
diff -r b0134502203b -r e1e985913204 output.html
--- a/output.html Mon May 19 14:14:18 2025 +0000
+++ b/output.html Wed May 21 14:53:05 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+JiM5OTg5OyBjbG9uaW5nX3NpbXVsYXRpb24gKFRlc3QgIyAxKTwvc3VtbWFyeT48ZGl2IGNsYXNzPSJwYWRkZWQiPgoKICAgICoqQ29tbWFuZCBMaW5lOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIG1rZGlyICdvdXRkaXJfemlwJyAmJiBta2RpciAnb3V0ZGlyX2diJyAmJiBweXRob24gJy9ob21lL3JraGFsZWQvZ2FsYXh5dG9vbHMvdG9vbHMvY2xvbmluZ19zaW11bGF0aW9uL2Nsb25pbmdfc2ltdWxhdGlvbi5weScgLS1wYXJ0c19maWxlcyAnL3RtcC90bXBheTB0bWU0di9maWxlcy80L2IvMy9kYXRhc2V0XzRiMzJjNmE4LWIzOWQtNGY1Zi05MTU1LTMwN2UxNDJkOTE5My5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy84L2UvZi9kYXRhc2V0XzhlZjE4MWRkLTVjM2EtNDBlYi05OTI2LTM3MzhlMWFlNGJlMS5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy9iL2EvYi9kYXRhc2V0X2JhYmJhMjAwLTJhZmQtNDM0Zi04Nzk3LTliMTBjYzczNmJhNy5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy9iLzcvYy9kYXRhc2V0X2I3YzVhODhjLTA1YWUtNGVmZC05ODg3LTQ3YTg5OTc0OTE3OC5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy83L2YvZS9kYXRhc2V0XzdmZWE0ZWNmLWJlNTYtNDIzZC04YTExLWQ2NDkxMDc3ZTIzMy5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy9lLzEvZi9kYXRhc2V0X2UxZjlhYjllLWM5ZTAtNGFjZC1hYzYzLWU0Mjk5YzM3OTJmZS5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy9mLzAvZi9kYXRhc2V0X2YwZmUwNDZjLTYxMzItNGJiOS1iNWRjLTUyMWVkZWFkMzJmMi5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy9lL2UvYy9kYXRhc2V0X2VlYzE5N2U3LWQ4ZmEtNGM0NS1iNWNiLTg5ZTUxZWUxZGIwZS5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy8zLzIvMS9kYXRhc2V0XzMyMTI0ZjQwLWVkOWItNGQyNS1iNzRmLWE0ZmY0NDU4MTk2Mi5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy9lLzEvMi9kYXRhc2V0X2UxMjZmZTA1LWQ3N2MtNGIzMy05NzgyLWU1YjFlN2U2YzdhZC5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy8yLzMvNC9kYXRhc2V0XzIzNGY5ODU1LTgxM2UtNDI5Ny1iYmQ0LWQxMzI3ZmIwY2JhZC5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy82L2IvMi9kYXRhc2V0XzZiMjNlMTI3LWU0YTItNDFiNi05OGYzLTRmOGY3MjE0YjIwOS5kYXQnIC0tZG9tZXN0aWNhdGVkX3NlcSAnJyAtLWFzc2VtYmx5X2NzdiAnL3RtcC90bXBheTB0bWU0di9maWxlcy8xLzQvNi9kYXRhc2V0XzE0NjQ1ZTkwLTkxMDUtNDhhZi1hMDcxLTZlYTA1MmZkNGFhZC5kYXQnIC0tYXNzZW1ibHlfcGxhbl9uYW1lICdUeXBlMnNSZXN0cmljdGlvbkFzc2VtYmx5JyAtLWZpbGVfbmFtZV9tYXBwaW5nICcvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzQvYi8zL2RhdGFzZXRfNGIzMmM2YTgtYjM5ZC00ZjVmLTkxNTUtMzA3ZTE0MmQ5MTkzLmRhdDpwYXJ0X0EuZ2IsL3RtcC90bXBheTB0bWU0di9maWxlcy84L2UvZi9kYXRhc2V0XzhlZjE4MWRkLTVjM2EtNDBlYi05OTI2LTM3MzhlMWFlNGJlMS5kYXQ6cGFydF9CLmdiLC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvYi9hL2IvZGF0YXNldF9iYWJiYTIwMC0yYWZkLTQzNGYtODc5Ny05YjEwY2M3MzZiYTcuZGF0OnBhcnRfQy5nYiwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzL2IvNy9jL2RhdGFzZXRfYjdjNWE4OGMtMDVhZS00ZWZkLTk4ODctNDdhODk5NzQ5MTc4LmRhdDpwYXJ0X0QuZ2IsL3RtcC90bXBheTB0bWU0di9maWxlcy83L2YvZS9kYXRhc2V0XzdmZWE0ZWNmLWJlNTYtNDIzZC04YTExLWQ2NDkxMDc3ZTIzMy5kYXQ6cGFydF9FLmdiLC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvZS8xL2YvZGF0YXNldF9lMWY5YWI5ZS1jOWUwLTRhY2QtYWM2My1lNDI5OWMzNzkyZmUuZGF0OnBhcnRfRi5nYiwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzL2YvMC9mL2RhdGFzZXRfZjBmZTA0NmMtNjEzMi00YmI5LWI1ZGMtNTIxZWRlYWQzMmYyLmRhdDpwYXJ0X0cuZ2IsL3RtcC90bXBheTB0bWU0di9maWxlcy9lL2UvYy9kYXRhc2V0X2VlYzE5N2U3LWQ4ZmEtNGM0NS1iNWNiLTg5ZTUxZWUxZGIwZS5kYXQ6cGFydF9ILmdiLC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvMy8yLzEvZGF0YXNldF8zMjEyNGY0MC1lZDliLTRkMjUtYjc0Zi1hNGZmNDQ1ODE5NjIuZGF0OnBhcnRfSS5nYiwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzL2UvMS8yL2RhdGFzZXRfZTEyNmZlMDUtZDc3Yy00YjMzLTk3ODItZTViMWU3ZTZjN2FkLmRhdDpwYXJ0X0ouZ2IsL3RtcC90bXBheTB0bWU0di9maWxlcy8yLzMvNC9kYXRhc2V0XzIzNGY5ODU1LTgxM2UtNDI5Ny1iYmQ0LWQxMzI3ZmIwY2JhZC5kYXQ6cGFydF9LLmdiLC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvNi9iLzIvZGF0YXNldF82YjIzZTEyNy1lNGEyLTQxYjYtOThmMy00ZjhmNzIxNGIyMDkuZGF0OnBhcnRfTC5nYicgLS1maWxlX25hbWVfbWFwcGluZ19kb20gJycgLS11c2VfZmlsZV9uYW1lc19hc19pZCAndHJ1ZScgLS1vdXRkaXJfc2ltdWxhdGlvbiAnb3V0ZGlyX3ppcCcgLS1vdXRkaXJfZ2IgJ291dGRpcl9nYicgLS1vdXRwdXRfc2ltdWxhdGlvbiAnb3V0cHV0X3ppcC56aXAnIC0tZW56eW1lICdhdXRvJyAtLXRvcG9sb2d5ICdjaXJjdWxhcicmJiBjcCAnb3V0cHV0X3ppcC56aXAnICcvdG1wL3RtcGF5MHRtZTR2L2pvYl93b3JraW5nX2RpcmVjdG9yeS8wMDAvMTQvb3V0cHV0cy9kYXRhc2V0X2YzMGQ5MDZkLTJlYTQtNGNkZS1iNDUxLWI3YzZkYWYyNWEyOS5kYXQnCiAgICAgIGBgYAogICAgKipFeGl0IENvZGU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgMAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgRXJyb3I6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogIDUwJXzilojilojilojilojiloggICAgIHwgMi80IFswMDowMDwwMDowMCwgIDIuMTRpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA3NSV84paI4paI4paI4paI4paI4paI4paI4paMICB8IDMvNCBbMDA6MDE8MDA6MDAsICAyLjE1aXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAxMDAlfOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiHwgNC80IFswMDowMjwwMDowMCwgIDEuNzdpdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIE91dHB1dDoqKgoKICAgICogYGBgY29uc29sZQogICAgICBTaW11bGF0aW5nIGFzc2VtYmx5IHBsYW4gYXNzYW1ibHkuLi4KICAgICAgeydjYW5jZWxsZWRfYXNzZW1ibGllcyc6IDAsICdlcnJvcmVkX2Fzc2VtYmxpZXMnOiAwLCAndmFsaWRfYXNzZW1ibGllcyc6IDR9CiAgICAgIEdlbmVyYXRpbmcgYXNzZW1ibGllcyByZXBvcnRzLi4uCgogICAgICBgYGAKICAgICoqVHJhY2ViYWNrOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBgYGAKICAgKipKb2IgUGFyYW1ldGVyczoqKgoKICAgKiAgIHwgSm9iIHBhcmFtZXRlciB8IFBhcmFtZXRlciB2YWx1ZSB8CiAgICAgICB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfAogICAgICAgfCBnZW5iYW5rXF9maWxlcyB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDEsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGRvbWVzdGljYXRlZFxfaW5wdXQgfCBgIE5vbmUgYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiVHlwZTJzUmVzdHJpY3Rpb25Bc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1wYXkwdG1lNHYvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgoqIDxkZXRhaWxzIGNsYXNzPSJyY29ybmVycyBsaWdodC1ncmVlbiI+PHN1bW1hcnkgY2xhc3M9ImxpZ2h0LWdyZWVuIj4mIzk5ODk7IGNsb25pbmdfc2ltdWxhdGlvbiAoVGVzdCAjIDIpPC9zdW1tYXJ5PjxkaXYgY2xhc3M9InBhZGRlZCI+CgogICAgKipDb21tYW5kIExpbmU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgbWtkaXIgJ291dGRpcl96aXAnICYmIG1rZGlyICdvdXRkaXJfZ2InICYmIHB5dGhvbiAnL2hvbWUvcmtoYWxlZC9nYWxheHl0b29scy90b29scy9jbG9uaW5nX3NpbXVsYXRpb24vY2xvbmluZ19zaW11bGF0aW9uLnB5JyAtLXBhcnRzX2ZpbGVzICcvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzAvNi85L2RhdGFzZXRfMDY5ZjkxMzctNzA1Yi00ZTE3LWI5MzEtMWViZDU0N2E3ZmU0LmRhdCcgLS1kb21lc3RpY2F0ZWRfc2VxICcnIC0tYXNzZW1ibHlfY3N2ICcvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzMvZC8xL2RhdGFzZXRfM2QxYTkxZWUtZDliYS00MWZjLWJkNzktZjAxMmFlNjU0MjUwLmRhdCcgLS1hc3NlbWJseV9wbGFuX25hbWUgJ0dpYnNvbkFzc2VtYmx5JyAtLWZpbGVfbmFtZV9tYXBwaW5nICcvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzAvNi85L2RhdGFzZXRfMDY5ZjkxMzctNzA1Yi00ZTE3LWI5MzEtMWViZDU0N2E3ZmU0LmRhdDpnaWJzb25fc2VxdWVuY2VzLmZhJyAtLWZpbGVfbmFtZV9tYXBwaW5nX2RvbSAnJyAtLXVzZV9maWxlX25hbWVzX2FzX2lkICd0cnVlJyAtLW91dGRpcl9zaW11bGF0aW9uICdvdXRkaXJfemlwJyAtLW91dGRpcl9nYiAnb3V0ZGlyX2diJyAtLW91dHB1dF9zaW11bGF0aW9uICdvdXRwdXRfemlwLnppcCcgLS1lbnp5bWUgJ2F1dG8nIC0tdG9wb2xvZ3kgJ2NpcmN1bGFyJyYmIGNwICdvdXRwdXRfemlwLnppcCcgJy90bXAvdG1wYXkwdG1lNHYvam9iX3dvcmtpbmdfZGlyZWN0b3J5LzAwMC8xNy9vdXRwdXRzL2RhdGFzZXRfMzMyN2UyODItZDIxOS00M2UzLTk0ZDctODhmZDA4YWE2ODY3LmRhdCcKICAgICAgYGBgCiAgICAqKkV4aXQgQ29kZToqKgoKICAgICogYGBgY29uc29sZQogICAgICAwCiAgICAgIGBgYAogICAgKipTdGFuZGFyZCBFcnJvcjoqKgoKICAgICogYGBgY29uc29sZQogICAgICAKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC81IFswMDowMDw/LCA/aXQvcywgbm93PU5vbmVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC81IFswMDowMDw/LCA/aXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAgNDAlfOKWiOKWiOKWiOKWiCAgICAgIHwgMi81IFswMDowMDwwMDowMCwgIDQuMjBpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA2MCV84paI4paI4paI4paI4paI4paIICAgIHwgMy81IFswMDowMDwwMDowMCwgIDQuMTJpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA4MCV84paI4paI4paI4paI4paI4paI4paI4paIICB8IDQvNSBbMDA6MDA8MDA6MDAsICA0LjM0aXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAxMDAlfOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiHwgNS81IFswMDowMTwwMDowMCwgIDMuNjJpdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIE91dHB1dDoqKgoKICAgICogYGBgY29uc29sZQogICAgICBTaW11bGF0aW5nIGFzc2VtYmx5IHBsYW4gYXNzYW1ibHkuLi4KICAgICAgeydjYW5jZWxsZWRfYXNzZW1ibGllcyc6IDAsICdlcnJvcmVkX2Fzc2VtYmxpZXMnOiAyLCAndmFsaWRfYXNzZW1ibGllcyc6IDN9CiAgICAgIEdlbmVyYXRpbmcgYXNzZW1ibGllcyByZXBvcnRzLi4uCgogICAgICBgYGAKICAgICoqVHJhY2ViYWNrOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBgYGAKICAgKipKb2IgUGFyYW1ldGVyczoqKgoKICAgKiAgIHwgSm9iIHBhcmFtZXRlciB8IFBhcmFtZXRlciB2YWx1ZSB8CiAgICAgICB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfAogICAgICAgfCBnZW5iYW5rXF9maWxlcyB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDMsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGRvbWVzdGljYXRlZFxfaW5wdXQgfCBgIE5vbmUgYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiR2lic29uQXNzZW1ibHkiIGAgfAogICAgICAgfCB0b3BvbG9neSB8IGAgImNpcmN1bGFyIiBgIHwKICAgICAgIHwgYWR2IHwgYCB7ImVuenltZSI6ICJhdXRvIiwgInVzZV9maWxlX25hbWVzX2FzX2lkcyI6IHRydWV9IGAgfAogICAgICAgfCBjaHJvbUluZm8gfCBgICIvdG1wL3RtcGF5MHRtZTR2L2dhbGF4eS1kZXYvdG9vbC1kYXRhL3NoYXJlZC91Y3NjL2Nocm9tLz8ubGVuIiBgIHwKICAgICAgIHwgZGJrZXkgfCBgICI/IiBgIHwKICAgICAgIHwgXF9cX2lucHV0XF9leHQgfCBgICJpbnB1dCIgYCB8CgoKCiAgICA8L2Rpdj48L2RldGFpbHM+CgoKKiA8ZGV0YWlscyBjbGFzcz0icmNvcm5lcnMgbGlnaHQtZ3JlZW4iPjxzdW1tYXJ5IGNsYXNzPSJsaWdodC1ncmVlbiI+JiM5OTg5OyBjbG9uaW5nX3NpbXVsYXRpb24gKFRlc3QgIyAzKTwvc3VtbWFyeT48ZGl2IGNsYXNzPSJwYWRkZWQiPgoKICAgICoqQ29tbWFuZCBMaW5lOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIG1rZGlyICdvdXRkaXJfemlwJyAmJiBta2RpciAnb3V0ZGlyX2diJyAmJiBweXRob24gJy9ob21lL3JraGFsZWQvZ2FsYXh5dG9vbHMvdG9vbHMvY2xvbmluZ19zaW11bGF0aW9uL2Nsb25pbmdfc2ltdWxhdGlvbi5weScgLS1wYXJ0c19maWxlcyAnL3RtcC90bXBheTB0bWU0di9maWxlcy9lLzAvZi9kYXRhc2V0X2UwZjgyOTZlLTA5NGQtNDk3MS05NzZiLTZlNTM0MTQ4ZDFkNS5kYXQsL3RtcC90bXBheTB0bWU0di9maWxlcy82LzAvOC9kYXRhc2V0XzYwODcyMmQ1LWVhZDUtNDlmYi04NzM2LTA0ZmE3YWIwMjdmMy5kYXQnIC0tZG9tZXN0aWNhdGVkX3NlcSAnJyAtLWFzc2VtYmx5X2NzdiAnL3RtcC90bXBheTB0bWU0di9maWxlcy8xL2QvOS9kYXRhc2V0XzFkOWVkMjY4LWJjMjUtNDBjMC1hNjdmLTQzOWFjY2FlN2U0MC5kYXQnIC0tYXNzZW1ibHlfcGxhbl9uYW1lICdMaWdhc2VDeWNsaW5nUmVhY3Rpb25Bc3NlbWJseScgLS1maWxlX25hbWVfbWFwcGluZyAnL3RtcC90bXBheTB0bWU0di9maWxlcy9lLzAvZi9kYXRhc2V0X2UwZjgyOTZlLTA5NGQtNDk3MS05NzZiLTZlNTM0MTQ4ZDFkNS5kYXQ6UkZQX0dGUF9wbGFzbWlkX0JPcy5mYSwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzYvMC84L2RhdGFzZXRfNjA4NzIyZDUtZWFkNS00OWZiLTg3MzYtMDRmYTdhYjAyN2YzLmRhdDpSRlBfR0ZQX3BsYXNtaWRfcGFydHMuZmEnIC0tZmlsZV9uYW1lX21hcHBpbmdfZG9tICcnIC0tdXNlX2ZpbGVfbmFtZXNfYXNfaWQgJ3RydWUnIC0tb3V0ZGlyX3NpbXVsYXRpb24gJ291dGRpcl96aXAnIC0tb3V0ZGlyX2diICdvdXRkaXJfZ2InIC0tb3V0cHV0X3NpbXVsYXRpb24gJ291dHB1dF96aXAuemlwJyAtLWVuenltZSAnYXV0bycgLS10b3BvbG9neSAnY2lyY3VsYXInJiYgY3AgJ291dHB1dF96aXAuemlwJyAnL3RtcC90bXBheTB0bWU0di9qb2Jfd29ya2luZ19kaXJlY3RvcnkvMDAwLzIxL291dHB1dHMvZGF0YXNldF9iMWFmNzE5Mi1hMjZmLTRlNmEtYmEyMi05YWVmZmFjMmVhNDYuZGF0JwogICAgICBgYGAKICAgICoqRXhpdCBDb2RlOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIDAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIEVycm9yOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzIgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzIgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6IDEwMCV84paI4paI4paI4paI4paI4paI4paI4paI4paI4paIfCAyLzIgWzAwOjAwPDAwOjAwLCAgMi4wNWl0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgT3V0cHV0OioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIFNpbXVsYXRpbmcgYXNzZW1ibHkgcGxhbiBhc3NhbWJseS4uLgogICAgICB7J2NhbmNlbGxlZF9hc3NlbWJsaWVzJzogMCwgJ2Vycm9yZWRfYXNzZW1ibGllcyc6IDIsICd2YWxpZF9hc3NlbWJsaWVzJzogMH0KICAgICAgR2VuZXJhdGluZyBhc3NlbWJsaWVzIHJlcG9ydHMuLi4KCiAgICAgIGBgYAogICAgKipUcmFjZWJhY2s6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGBgYAogICAqKkpvYiBQYXJhbWV0ZXJzOioqCgogICAqICAgfCBKb2IgcGFyYW1ldGVyIHwgUGFyYW1ldGVyIHZhbHVlIHwKICAgICAgIHwgLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLSB8CiAgICAgICB8IGdlbmJhbmtcX2ZpbGVzIHwgYCB7InZhbHVlcyI6IFt7ImlkIjogNSwgInNyYyI6ICJoZGNhIn1dfSBgIHwKICAgICAgIHwgZG9tZXN0aWNhdGVkXF9pbnB1dCB8IGAgTm9uZSBgIHwKICAgICAgIHwgYXNzZW1ibHlcX3BsYW5cX25hbWUgfCBgICJMaWdhc2VDeWNsaW5nUmVhY3Rpb25Bc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1wYXkwdG1lNHYvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgoqIDxkZXRhaWxzIGNsYXNzPSJyY29ybmVycyBsaWdodC1ncmVlbiI+PHN1bW1hcnkgY2xhc3M9ImxpZ2h0LWdyZWVuIj4mIzk5ODk7IGNsb25pbmdfc2ltdWxhdGlvbiAoVGVzdCAjIDQpPC9zdW1tYXJ5PjxkaXYgY2xhc3M9InBhZGRlZCI+CgogICAgKipDb21tYW5kIExpbmU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgbWtkaXIgJ291dGRpcl96aXAnICYmIG1rZGlyICdvdXRkaXJfZ2InICYmIHB5dGhvbiAnL2hvbWUvcmtoYWxlZC9nYWxheHl0b29scy90b29scy9jbG9uaW5nX3NpbXVsYXRpb24vY2xvbmluZ19zaW11bGF0aW9uLnB5JyAtLXBhcnRzX2ZpbGVzICcvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzUvMC85L2RhdGFzZXRfNTA5ZmE4N2QtNGFmOS00NmY3LWIzMjMtNDhmODEyODY3NWM4LmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzAvMi9iL2RhdGFzZXRfMDJiOGI2ZjItNDNhYi00ODg1LWE5ZGUtMzM2ZDkwM2VkYzU1LmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzkvNS9hL2RhdGFzZXRfOTVhYTVhMTYtOWI2MS00NWJlLTk0ZTYtMzUyODQ1MzFmY2Q3LmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzEvNy9jL2RhdGFzZXRfMTdjOTRmZTYtZTBjZS00YzcyLTlhZGMtNWY4MTMyYTZkZjgxLmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzL2QvYi82L2RhdGFzZXRfZGI2YmI4YmEtNDY4Mi00NzZlLWE2ODgtYmU5ZTVjZmIwYWZkLmRhdCcgLS1kb21lc3RpY2F0ZWRfc2VxICcnIC0tYXNzZW1ibHlfY3N2ICcvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzMvNC80L2RhdGFzZXRfMzQ0ZWYzODAtZTlkMy00NzI5LWJjNmUtNDVhMDAzMDAwNjEzLmRhdCcgLS1hc3NlbWJseV9wbGFuX25hbWUgJ0JBU0lDQXNzZW1ibHknIC0tZmlsZV9uYW1lX21hcHBpbmcgJy90bXAvdG1wYXkwdG1lNHYvZmlsZXMvNS8wLzkvZGF0YXNldF81MDlmYTg3ZC00YWY5LTQ2ZjctYjMyMy00OGY4MTI4Njc1YzguZGF0OkdGUC5nYiwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzAvMi9iL2RhdGFzZXRfMDJiOGI2ZjItNDNhYi00ODg1LWE5ZGUtMzM2ZDkwM2VkYzU1LmRhdDpwMTVBX2thbi5nYiwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzkvNS9hL2RhdGFzZXRfOTVhYTVhMTYtOWI2MS00NWJlLTk0ZTYtMzUyODQ1MzFmY2Q3LmRhdDpwcm9tb3Rlci5nYiwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzEvNy9jL2RhdGFzZXRfMTdjOTRmZTYtZTBjZS00YzcyLTlhZGMtNWY4MTMyYTZkZjgxLmRhdDpSRlAuZ2IsL3RtcC90bXBheTB0bWU0di9maWxlcy9kL2IvNi9kYXRhc2V0X2RiNmJiOGJhLTQ2ODItNDc2ZS1hNjg4LWJlOWU1Y2ZiMGFmZC5kYXQ6b2xpZ29zLmZhJyAtLWZpbGVfbmFtZV9tYXBwaW5nX2RvbSAnJyAtLXVzZV9maWxlX25hbWVzX2FzX2lkICd0cnVlJyAtLW91dGRpcl9zaW11bGF0aW9uICdvdXRkaXJfemlwJyAtLW91dGRpcl9nYiAnb3V0ZGlyX2diJyAtLW91dHB1dF9zaW11bGF0aW9uICdvdXRwdXRfemlwLnppcCcgLS1lbnp5bWUgJ2F1dG8nIC0tdG9wb2xvZ3kgJ2NpcmN1bGFyJyYmIGNwICdvdXRwdXRfemlwLnppcCcgJy90bXAvdG1wYXkwdG1lNHYvam9iX3dvcmtpbmdfZGlyZWN0b3J5LzAwMC8yOC9vdXRwdXRzL2RhdGFzZXRfY2RiNjFjYmMtYzljNS00NWZjLTlmYzgtZTAwYzFmM2Q0ZjBmLmRhdCcKICAgICAgYGBgCiAgICAqKkV4aXQgQ29kZToqKgoKICAgICogYGBgY29uc29sZQogICAgICAwCiAgICAgIGBgYAogICAgKipTdGFuZGFyZCBFcnJvcjoqKgoKICAgICogYGBgY29uc29sZQogICAgICAKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC8xMCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzggWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA2MiV84paI4paI4paI4paI4paI4paI4paOICAgfCA1LzggWzAwOjAwPDAwOjAwLCA0NC45MGl0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgT3V0cHV0OioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIFNpbXVsYXRpbmcgYXNzZW1ibHkgcGxhbiBhc3NhbWJseS4uLgogICAgICB7J2NhbmNlbGxlZF9hc3NlbWJsaWVzJzogMiwgJ2Vycm9yZWRfYXNzZW1ibGllcyc6IDgsICd2YWxpZF9hc3NlbWJsaWVzJzogMH0KICAgICAgR2VuZXJhdGluZyBhc3NlbWJsaWVzIHJlcG9ydHMuLi4KCiAgICAgIGBgYAogICAgKipUcmFjZWJhY2s6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGBgYAogICAqKkpvYiBQYXJhbWV0ZXJzOioqCgogICAqICAgfCBKb2IgcGFyYW1ldGVyIHwgUGFyYW1ldGVyIHZhbHVlIHwKICAgICAgIHwgLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLSB8CiAgICAgICB8IGdlbmJhbmtcX2ZpbGVzIHwgYCB7InZhbHVlcyI6IFt7ImlkIjogNywgInNyYyI6ICJoZGNhIn1dfSBgIHwKICAgICAgIHwgZG9tZXN0aWNhdGVkXF9pbnB1dCB8IGAgTm9uZSBgIHwKICAgICAgIHwgYXNzZW1ibHlcX3BsYW5cX25hbWUgfCBgICJCQVNJQ0Fzc2VtYmx5IiBgIHwKICAgICAgIHwgdG9wb2xvZ3kgfCBgICJjaXJjdWxhciIgYCB8CiAgICAgICB8IGFkdiB8IGAgeyJlbnp5bWUiOiAiYXV0byIsICJ1c2VfZmlsZV9uYW1lc19hc19pZHMiOiB0cnVlfSBgIHwKICAgICAgIHwgY2hyb21JbmZvIHwgYCAiL3RtcC90bXBheTB0bWU0di9nYWxheHktZGV2L3Rvb2wtZGF0YS9zaGFyZWQvdWNzYy9jaHJvbS8/LmxlbiIgYCB8CiAgICAgICB8IGRia2V5IHwgYCAiPyIgYCB8CiAgICAgICB8IFxfXF9pbnB1dFxfZXh0IHwgYCAiaW5wdXQiIGAgfAoKCgogICAgPC9kaXY+PC9kZXRhaWxzPgoKCiogPGRldGFpbHMgY2xhc3M9InJjb3JuZXJzIGxpZ2h0LWdyZWVuIj48c3VtbWFyeSBjbGFzcz0ibGlnaHQtZ3JlZW4iPiYjOTk4OTsgY2xvbmluZ19zaW11bGF0aW9uIChUZXN0ICMgNSk8L3N1bW1hcnk+PGRpdiBjbGFzcz0icGFkZGVkIj4KCiAgICAqKkNvbW1hbmQgTGluZToqKgoKICAgICogYGBgY29uc29sZQogICAgICBta2RpciAnb3V0ZGlyX3ppcCcgJiYgbWtkaXIgJ291dGRpcl9nYicgJiYgcHl0aG9uICcvaG9tZS9ya2hhbGVkL2dhbGF4eXRvb2xzL3Rvb2xzL2Nsb25pbmdfc2ltdWxhdGlvbi9jbG9uaW5nX3NpbXVsYXRpb24ucHknIC0tcGFydHNfZmlsZXMgJy90bXAvdG1wYXkwdG1lNHYvZmlsZXMvNi9lLzAvZGF0YXNldF82ZTA0NTNjNC02ZWRkLTRkNzYtOTUwNC00Y2M0OTQxNjEwZjYuZGF0LC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvNi9kLzMvZGF0YXNldF82ZDNjMjRlNS03M2NkLTRiZWQtOTVhYS1kMWMzNjFjNzQxODAuZGF0LC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvNy83LzkvZGF0YXNldF83NzkzNTQxYi0xOGNjLTRmN2QtYTlkZi0xMjM5NjgwN2MzNjguZGF0LC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvYS9lLzEvZGF0YXNldF9hZTE2MTFlZC1hNWUyLTQ2ZTgtYjk3NS02MTNhZGExYmI4ZGIuZGF0LC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvOS9hL2QvZGF0YXNldF85YWRmYWZlMy1iMGFkLTQ0OWItODU1NS0yODZjYTgzZTY1YTQuZGF0JyAtLWRvbWVzdGljYXRlZF9zZXEgJycgLS1hc3NlbWJseV9jc3YgJy90bXAvdG1wYXkwdG1lNHYvZmlsZXMvOS83LzYvZGF0YXNldF85NzZmN2Q5OS0wN2U1LTRkNWMtYWI3OS1hOTZhZTQyNzYwZDQuZGF0JyAtLWFzc2VtYmx5X3BsYW5fbmFtZSAnQmlvQnJpY2tTdGFuZGFyZEFzc2VtYmx5JyAtLWZpbGVfbmFtZV9tYXBwaW5nICcvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzYvZS8wL2RhdGFzZXRfNmUwNDUzYzQtNmVkZC00ZDc2LTk1MDQtNGNjNDk0MTYxMGY2LmRhdDpCQmFfRTAwNDBfR0ZQLmdiLC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvNi9kLzMvZGF0YXNldF82ZDNjMjRlNS03M2NkLTRiZWQtOTVhYS1kMWMzNjFjNzQxODAuZGF0OkJCYV9KMjMxMTlfcHJvbS5nYiwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzcvNy85L2RhdGFzZXRfNzc5MzU0MWItMThjYy00ZjdkLWE5ZGYtMTIzOTY4MDdjMzY4LmRhdDpCQmFfSjIzMTE5X3Byb21fZmxhd2VkLmdiLC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvYS9lLzEvZGF0YXNldF9hZTE2MTFlZC1hNWUyLTQ2ZTgtYjk3NS02MTNhZGExYmI4ZGIuZGF0OkJCYV9KNjEwNDhfdGVybS5nYiwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzkvYS9kL2RhdGFzZXRfOWFkZmFmZTMtYjBhZC00NDliLTg1NTUtMjg2Y2E4M2U2NWE0LmRhdDpCQmFfSzYxMTA5NF9iYXIuZ2InIC0tZmlsZV9uYW1lX21hcHBpbmdfZG9tICcnIC0tdXNlX2ZpbGVfbmFtZXNfYXNfaWQgJ3RydWUnIC0tb3V0ZGlyX3NpbXVsYXRpb24gJ291dGRpcl96aXAnIC0tb3V0ZGlyX2diICdvdXRkaXJfZ2InIC0tb3V0cHV0X3NpbXVsYXRpb24gJ291dHB1dF96aXAuemlwJyAtLWVuenltZSAnYXV0bycgLS10b3BvbG9neSAnY2lyY3VsYXInJiYgY3AgJ291dHB1dF96aXAuemlwJyAnL3RtcC90bXBheTB0bWU0di9qb2Jfd29ya2luZ19kaXJlY3RvcnkvMDAwLzM1L291dHB1dHMvZGF0YXNldF9kZWViOTc1Zi00YWU4LTQ0ZDMtOWMzYy01MWRjMDVlNzRmMDUuZGF0JwogICAgICBgYGAKICAgICoqRXhpdCBDb2RlOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIDAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIEVycm9yOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzMgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzMgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA2NyV84paI4paI4paI4paI4paI4paI4paLICAgfCAyLzMgWzAwOjAxPDAwOjAwLCAgMS43NGl0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogMTAwJXzilojilojilojilojilojilojilojilojilojiloh8IDMvMyBbMDA6MDI8MDA6MDAsICAxLjQzaXQvcywgbm93PU5vbmVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgIGBgYAogICAgKipTdGFuZGFyZCBPdXRwdXQ6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgU2ltdWxhdGluZyBhc3NlbWJseSBwbGFuIGFzc2FtYmx5Li4uCiAgICAgIHsnY2FuY2VsbGVkX2Fzc2VtYmxpZXMnOiAwLCAnZXJyb3JlZF9hc3NlbWJsaWVzJzogMCwgJ3ZhbGlkX2Fzc2VtYmxpZXMnOiAzfQogICAgICBHZW5lcmF0aW5nIGFzc2VtYmxpZXMgcmVwb3J0cy4uLgoKICAgICAgYGBgCiAgICAqKlRyYWNlYmFjazoqKgoKICAgICogYGBgY29uc29sZQogICAgICAKICAgICAgYGBgCiAgICoqSm9iIFBhcmFtZXRlcnM6KioKCiAgICogICB8IEpvYiBwYXJhbWV0ZXIgfCBQYXJhbWV0ZXIgdmFsdWUgfAogICAgICAgfCAtLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tIHwKICAgICAgIHwgZ2VuYmFua1xfZmlsZXMgfCBgIHsidmFsdWVzIjogW3siaWQiOiA5LCAic3JjIjogImhkY2EifV19IGAgfAogICAgICAgfCBkb21lc3RpY2F0ZWRcX2lucHV0IHwgYCBOb25lIGAgfAogICAgICAgfCBhc3NlbWJseVxfcGxhblxfbmFtZSB8IGAgIkJpb0JyaWNrU3RhbmRhcmRBc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1wYXkwdG1lNHYvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgoqIDxkZXRhaWxzIGNsYXNzPSJyY29ybmVycyBsaWdodC1ncmVlbiI+PHN1bW1hcnkgY2xhc3M9ImxpZ2h0LWdyZWVuIj4mIzk5ODk7IGNsb25pbmdfc2ltdWxhdGlvbiAoVGVzdCAjIDYpPC9zdW1tYXJ5PjxkaXYgY2xhc3M9InBhZGRlZCI+CgogICAgKipDb21tYW5kIExpbmU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgbWtkaXIgJ291dGRpcl96aXAnICYmIG1rZGlyICdvdXRkaXJfZ2InICYmIHB5dGhvbiAnL2hvbWUvcmtoYWxlZC9nYWxheHl0b29scy90b29scy9jbG9uaW5nX3NpbXVsYXRpb24vY2xvbmluZ19zaW11bGF0aW9uLnB5JyAtLXBhcnRzX2ZpbGVzICcvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzEvOS8zL2RhdGFzZXRfMTkzY2JkMTAtNGI3Ni00NmQ5LWIzNzctYTdmMDY0NzFkNGQ0LmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzL2YvYS8zL2RhdGFzZXRfZmEzMWM1ZjUtZTY3OC00NzFlLWIxYTMtNGY4YTE2OGJiZWUxLmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzYvOS83L2RhdGFzZXRfNjk3YzgzZmUtMTY4Yi00MzE5LWE2ZTUtM2RiOTBjNTA0YzhiLmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzAvNi9kL2RhdGFzZXRfMDZkNGRkOTQtNWYzMy00Y2UwLWFiMGEtZTZlZmU5NmNhMjIyLmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzcvMC8xL2RhdGFzZXRfNzAxYjcyYzYtZWMyZS00NDM1LWIwZDUtOGY0MTk4MTFhNGRkLmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzUvYS8wL2RhdGFzZXRfNWEwN2YwNTktZjZmOS00OWRlLWIwZmMtM2NkZWQxNTdmNDRiLmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzcvNS8zL2RhdGFzZXRfNzUzZjAyOTctNGJmZi00OWM4LWIyMmEtMTM3N2U0M2E4MWY2LmRhdCcgLS1kb21lc3RpY2F0ZWRfc2VxICcvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzL2YvNi9kL2RhdGFzZXRfZjZkNjAyYjktNzc3Mi00YTkzLTk2OWQtZjBkY2RhZDk4YzZhLmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzL2QvNC9kL2RhdGFzZXRfZDRkYzNlY2ItNzdmZi00YjI4LWE1NWEtN2IyNjM0MTZjNmM3LmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzcvZC80L2RhdGFzZXRfN2Q0ODlkYmQtMTYxZS00ZjA0LWEzZGYtZWY1Yjk4OWFkMWUwLmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzQvYy9hL2RhdGFzZXRfNGNhM2MyMjItNjcyYS00ODA2LWI2MGMtMDgxZjFiN2I2NGNiLmRhdCwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzkvMC82L2RhdGFzZXRfOTA2NzA3ZGItYjNjZi00MGY5LWFmMGItMWZmYzE0M2Y5MWU4LmRhdCcgLS1hc3NlbWJseV9jc3YgJy90bXAvdG1wYXkwdG1lNHYvZmlsZXMvOS9jLzgvZGF0YXNldF85YzhlYzY5My0wMmY5LTRjYzctYjdlMy04YmZiMGE0ZGQxZGMuZGF0JyAtLWFzc2VtYmx5X3BsYW5fbmFtZSAnVHlwZTJzUmVzdHJpY3Rpb25Bc3NlbWJseScgLS1maWxlX25hbWVfbWFwcGluZyAnL3RtcC90bXBheTB0bWU0di9maWxlcy8xLzkvMy9kYXRhc2V0XzE5M2NiZDEwLTRiNzYtNDZkOS1iMzc3LWE3ZjA2NDcxZDRkNC5kYXQ6cGFydF9BLmdiLC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvZi9hLzMvZGF0YXNldF9mYTMxYzVmNS1lNjc4LTQ3MWUtYjFhMy00ZjhhMTY4YmJlZTEuZGF0OnBhcnRfQi5nYiwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzYvOS83L2RhdGFzZXRfNjk3YzgzZmUtMTY4Yi00MzE5LWE2ZTUtM2RiOTBjNTA0YzhiLmRhdDpwYXJ0X0MuZ2IsL3RtcC90bXBheTB0bWU0di9maWxlcy8wLzYvZC9kYXRhc2V0XzA2ZDRkZDk0LTVmMzMtNGNlMC1hYjBhLWU2ZWZlOTZjYTIyMi5kYXQ6cGFydF9ELmdiLC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvNy8wLzEvZGF0YXNldF83MDFiNzJjNi1lYzJlLTQ0MzUtYjBkNS04ZjQxOTgxMWE0ZGQuZGF0OnBhcnRfRS5nYiwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzUvYS8wL2RhdGFzZXRfNWEwN2YwNTktZjZmOS00OWRlLWIwZmMtM2NkZWQxNTdmNDRiLmRhdDpwYXJ0X0YuZ2IsL3RtcC90bXBheTB0bWU0di9maWxlcy83LzUvMy9kYXRhc2V0Xzc1M2YwMjk3LTRiZmYtNDljOC1iMjJhLTEzNzdlNDNhODFmNi5kYXQ6cGFydF9HLmdiJyAtLWZpbGVfbmFtZV9tYXBwaW5nX2RvbSAnL3RtcC90bXBheTB0bWU0di9maWxlcy9mLzYvZC9kYXRhc2V0X2Y2ZDYwMmI5LTc3NzItNGE5My05NjlkLWYwZGNkYWQ5OGM2YS5kYXQ6cGFydF9ILmdiLC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvZC80L2QvZGF0YXNldF9kNGRjM2VjYi03N2ZmLTRiMjgtYTU1YS03YjI2MzQxNmM2YzcuZGF0OnBhcnRfSS5nYiwvdG1wL3RtcGF5MHRtZTR2L2ZpbGVzLzcvZC80L2RhdGFzZXRfN2Q0ODlkYmQtMTYxZS00ZjA0LWEzZGYtZWY1Yjk4OWFkMWUwLmRhdDpwYXJ0X0ouZ2IsL3RtcC90bXBheTB0bWU0di9maWxlcy80L2MvYS9kYXRhc2V0XzRjYTNjMjIyLTY3MmEtNDgwNi1iNjBjLTA4MWYxYjdiNjRjYi5kYXQ6cGFydF9LLmdiLC90bXAvdG1wYXkwdG1lNHYvZmlsZXMvOS8wLzYvZGF0YXNldF85MDY3MDdkYi1iM2NmLTQwZjktYWYwYi0xZmZjMTQzZjkxZTguZGF0OnBhcnRfTC5nYicgLS11c2VfZmlsZV9uYW1lc19hc19pZCAndHJ1ZScgLS1vdXRkaXJfc2ltdWxhdGlvbiAnb3V0ZGlyX3ppcCcgLS1vdXRkaXJfZ2IgJ291dGRpcl9nYicgLS1vdXRwdXRfc2ltdWxhdGlvbiAnb3V0cHV0X3ppcC56aXAnIC0tZW56eW1lICdhdXRvJyAtLXRvcG9sb2d5ICdjaXJjdWxhcicmJiBjcCAnb3V0cHV0X3ppcC56aXAnICcvdG1wL3RtcGF5MHRtZTR2L2pvYl93b3JraW5nX2RpcmVjdG9yeS8wMDAvNDkvb3V0cHV0cy9kYXRhc2V0XzgwMDMyMGRjLWQxODEtNDBiZi1iMWNiLTU0MWY0M2E4MzhjMy5kYXQnCiAgICAgIGBgYAogICAgKipFeGl0IENvZGU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgMAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgRXJyb3I6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogIDUwJXzilojilojilojilojiloggICAgIHwgMi80IFswMDowMDwwMDowMCwgIDIuMzVpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA3NSV84paI4paI4paI4paI4paI4paI4paI4paMICB8IDMvNCBbMDA6MDE8MDA6MDAsICAyLjEzaXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAxMDAlfOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiHwgNC80IFswMDowMjwwMDowMCwgIDEuNzdpdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIE91dHB1dDoqKgoKICAgICogYGBgY29uc29sZQogICAgICBTaW11bGF0aW5nIGFzc2VtYmx5IHBsYW4gYXNzYW1ibHkuLi4KICAgICAgeydjYW5jZWxsZWRfYXNzZW1ibGllcyc6IDAsICdlcnJvcmVkX2Fzc2VtYmxpZXMnOiAwLCAndmFsaWRfYXNzZW1ibGllcyc6IDR9CiAgICAgIEdlbmVyYXRpbmcgYXNzZW1ibGllcyByZXBvcnRzLi4uCgogICAgICBgYGAKICAgICoqVHJhY2ViYWNrOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBgYGAKICAgKipKb2IgUGFyYW1ldGVyczoqKgoKICAgKiAgIHwgSm9iIHBhcmFtZXRlciB8IFBhcmFtZXRlciB2YWx1ZSB8CiAgICAgICB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfAogICAgICAgfCBnZW5iYW5rXF9maWxlcyB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDEyLCAic3JjIjogImhkY2EifV19IGAgfAogICAgICAgfCBkb21lc3RpY2F0ZWRcX2lucHV0IHwgYCB7InZhbHVlcyI6IFt7ImlkIjogMTEsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiVHlwZTJzUmVzdHJpY3Rpb25Bc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1wYXkwdG1lNHYvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgo8L2RldGFpbHM+Cg=='));
+ target.innerHTML = md.render(atob('IyMgVGVzdCBTdW1tYXJ5Cgo8ZGl2IGNsYXNzPSJwcm9ncmVzcyI+CiAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIHByb2dyZXNzLWJhci1zdWNjZXNzIiBzdHlsZT0id2lkdGg6IDg1LjcxNDI4NTcxNDI4NTcxJSIgYXJpYS12YWx1ZW5vdz0iNiIgYXJpYS12YWx1ZW1pbj0iMCIgYXJpYS12YWx1ZW1heD0iNyIgZGF0YS10b2dnbGU9InRvb2x0aXAiIHRpdGxlPSI2IFBhc3NlZCI+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIHByb2dyZXNzLWJhci13YXJuaW5nIiBzdHlsZT0id2lkdGg6IDAuMCUiIGFyaWEtdmFsdWVub3c9IjAiIGFyaWEtdmFsdWVtaW49IjAiIGFyaWEtdmFsdWVtYXg9IjciIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiB0aXRsZT0iMCBTa2lwcGVkIj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIgcHJvZ3Jlc3MtYmFyLWRhbmdlciIgc3R5bGU9IndpZHRoOiAxNC4yODU3MTQyODU3MTQyODUlIiBhcmlhLXZhbHVlbm93PSIxIiBhcmlhLXZhbHVlbWluPSIwIiBhcmlhLXZhbHVlbWF4PSI3IiB0aXRsZT0iMSBGYWlsZWQgb3IgRXJyb3JlZCI+CiAgPC9kaXY+CjwvZGl2PgoKfCBUZXN0IFN0YXRlIHwgQ291bnQgfAp8IC0tLS0tLS0tLS0gfCAtLS0tLSB8CnwgVG90YWwgICAgICB8IDcgfAp8IFBhc3NlZCAgICAgfCA2IHwKfCBFcnJvciAgICAgIHwgMCB8CnwgRmFpbHVyZSAgICB8IDEgfAp8IFNraXBwZWQgICAgfCAwIHwKCgo8ZGV0YWlscyBvcGVuPjxzdW1tYXJ5PkZhaWxlZCBUZXN0czwvc3VtbWFyeT4KCiogPGRldGFpbHMgY2xhc3M9InJjb3JuZXJzIGxpZ2h0LXJlZCI+PHN1bW1hcnkgY2xhc3M9ImxpZ2h0LXJlZCI+JiMxMDA2MDsgY2xvbmluZ19zaW11bGF0aW9uIChUZXN0ICMgNyk8L3N1bW1hcnk+PGRpdiBjbGFzcz0icGFkZGVkIj4KCiAgICAqKlByb2JsZW1zKio6CiAgICAqIGBgYAogICAgICBKb2IgaW4gZXJyb3Igc3RhdGUuLiB0b29sX2lkOiBjbG9uaW5nX3NpbXVsYXRpb24sIGV4aXRfY29kZTogMSwgc3RkZXJyOiBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgICAgICAgRmlsZSAiL2hvbWUvcmtoYWxlZC9nYWxheHl0b29scy90b29scy9jbG9uaW5nX3NpbXVsYXRpb24vY2xvbmluZ19zaW11bGF0aW9uLnB5IiwgbGluZSAxNjUsIGluIDxtb2R1bGU+CiAgICAgICAgICBjbG9uaW5nX3NpbXVsYXRpb24oCiAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5eCiAgICAgICAgICAgICAgYXJncy5wYXJ0c19maWxlcywgYXJncy5kb21lc3RpY2F0ZWRfc2VxLAogICAgICAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KICAgICAgICAgIC4uLjwzIGxpbmVzPi4uLgogICAgICAgICAgICAgIGFyZ3Mub3V0cHV0X3NpbXVsYXRpb24sIGFyZ3MuZW56eW1lLCBhcmdzLm91dGRpcl9nYgogICAgICAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgogICAgICAgICAgKQogICAgICAgICAgXgogICAgICAgIEZpbGUgIi9ob21lL3JraGFsZWQvZ2FsYXh5dG9vbHMvdG9vbHMvY2xvbmluZ19zaW11bGF0aW9uL2Nsb25pbmdfc2ltdWxhdGlvbi5weSIsIGxpbmUgMjIsIGluIGNsb25pbmdfc2ltdWxhdGlvbgogICAgICAgICAgcmVwb3NpdG9yeS5pbXBvcnRfcmVjb3JkcyhmaWxlcz1kb21lc3RpY2F0ZWRfZmlsZXMsCiAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlX2ZpbGVfbmFtZXNfYXNfaWRzPXVzZV9maWxlX25hbWVzX2FzX2lkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcG9sb2d5PXRvcG9sb2d5KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXl5eXl5eXl5eXl5eXl5eXl4KICAgICAgICBGaWxlICIvaG9tZS9ya2hhbGVkL21pbmljb25kYTMvZW52cy9tdWxsZWQtdjEtNmMyYjllYmI0NzVhMzdiZDBkOWNhNzg1NzQ3NGU4NTc0NzE5ZTU0NmRlODgyODEwZjc4MjhmZTU5OTNhOGFkZi9saWIvcHl0aG9uMy4xMy9zaXRlLXBhY2thZ2VzL2RuYWNhdWxkcm9uL1NlcXVlbmNlUmVwb3NpdG9yeS5weSIsIGxpbmUgMTcwLCBpbiBpbXBvcnRfcmVjb3JkcwogICAgICAgICAgc2VsZi5hZGRfcmVjb3JkcyhyZWNvcmRzLCBjb2xsZWN0aW9uPWNvbGxlY3Rpb24pCiAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+Xl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KICAgICAgICBGaWxlICIvaG9tZS9ya2hhbGVkL21pbmljb25kYTMvZW52cy9tdWxsZWQtdjEtNmMyYjllYmI0NzVhMzdiZDBkOWNhNzg1NzQ3NGU4NTc0NzE5ZTU0NmRlODgyODEwZjc4MjhmZTU5OTNhOGFkZi9saWIvcHl0aG9uMy4xMy9zaXRlLXBhY2thZ2VzL2RuYWNhdWxkcm9uL1NlcXVlbmNlUmVwb3NpdG9yeS5weSIsIGxpbmUgOTYsIGluIGFkZF9yZWNvcmRzCiAgICAgICAgICBzZWxmLmFkZF9yZWNvcmQocmVjb3JkLCBjb2xsZWN0aW9uPWNvbGxlY3Rpb24pCiAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCiAgICAgICAgRmlsZSAiL2hvbWUvcmtoYWxlZC9taW5pY29uZGEzL2VudnMvbXVsbGVkLXYxLTZjMmI5ZWJiNDc1YTM3YmQwZDljYTc4NTc0NzRlODU3NDcxOWU1NDZkZTg4MjgxMGY3ODI4ZmU1OTkzYThhZGYvbGliL3B5dGhvbjMuMTMvc2l0ZS1wYWNrYWdlcy9kbmFjYXVsZHJvbi9TZXF1ZW5jZVJlcG9zaXRvcnkucHkiLCBsaW5lIDg1LCBpbiBhZGRfcmVjb3JkCiAgICAgICAgICByYWlzZSBSZXBvc2l0b3J5RHVwbGljYXRlRXJyb3IoW3JlY29yZC5pZF0sIHJlcG9zaXRvcnk9c2VsZikKICAgICAgZG5hY2F1bGRyb24uU2VxdWVuY2VSZXBvc2l0b3J5LlJlcG9zaXRvcnlEdXBsaWNhdGVFcnJvcjogUGFydCBJRCBkYXRhc2V0XzRjN2M2NzFiLTVmYzMtNGU5Ni1iN2YyLTdlMzA5ZDUzNTg4ZCBkdXBsaWNhdGVkIGluICBpbiByZXBvCiAgICAgIC4KICAgICAgYGBgCiAgICAqIGBgYAogICAgICBKb2IgaW4gZXJyb3Igc3RhdGUuLiB0b29sX2lkOiBjbG9uaW5nX3NpbXVsYXRpb24sIGV4aXRfY29kZTogMSwgc3RkZXJyOiBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgICAgICAgRmlsZSAiL2hvbWUvcmtoYWxlZC9nYWxheHl0b29scy90b29scy9jbG9uaW5nX3NpbXVsYXRpb24vY2xvbmluZ19zaW11bGF0aW9uLnB5IiwgbGluZSAxNjUsIGluIDxtb2R1bGU+CiAgICAgICAgICBjbG9uaW5nX3NpbXVsYXRpb24oCiAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5eCiAgICAgICAgICAgICAgYXJncy5wYXJ0c19maWxlcywgYXJncy5kb21lc3RpY2F0ZWRfc2VxLAogICAgICAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KICAgICAgICAgIC4uLjwzIGxpbmVzPi4uLgogICAgICAgICAgICAgIGFyZ3Mub3V0cHV0X3NpbXVsYXRpb24sIGFyZ3MuZW56eW1lLCBhcmdzLm91dGRpcl9nYgogICAgICAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgogICAgICAgICAgKQogICAgICAgICAgXgogICAgICAgIEZpbGUgIi9ob21lL3JraGFsZWQvZ2FsYXh5dG9vbHMvdG9vbHMvY2xvbmluZ19zaW11bGF0aW9uL2Nsb25pbmdfc2ltdWxhdGlvbi5weSIsIGxpbmUgMjIsIGluIGNsb25pbmdfc2ltdWxhdGlvbgogICAgICAgICAgcmVwb3NpdG9yeS5pbXBvcnRfcmVjb3JkcyhmaWxlcz1kb21lc3RpY2F0ZWRfZmlsZXMsCiAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlX2ZpbGVfbmFtZXNfYXNfaWRzPXVzZV9maWxlX25hbWVzX2FzX2lkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcG9sb2d5PXRvcG9sb2d5KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXl5eXl5eXl5eXl5eXl5eXl4KICAgICAgICBGaWxlICIvaG9tZS9ya2hhbGVkL21pbmljb25kYTMvZW52cy9tdWxsZWQtdjEtNmMyYjllYmI0NzVhMzdiZDBkOWNhNzg1NzQ3NGU4NTc0NzE5ZTU0NmRlODgyODEwZjc4MjhmZTU5OTNhOGFkZi9saWIvcHl0aG9uMy4xMy9zaXRlLXBhY2thZ2VzL2RuYWNhdWxkcm9uL1NlcXVlbmNlUmVwb3NpdG9yeS5weSIsIGxpbmUgMTcwLCBpbiBpbXBvcnRfcmVjb3JkcwogICAgICAgICAgc2VsZi5hZGRfcmVjb3JkcyhyZWNvcmRzLCBjb2xsZWN0aW9uPWNvbGxlY3Rpb24pCiAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+Xl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KICAgICAgICBGaWxlICIvaG9tZS9ya2hhbGVkL21pbmljb25kYTMvZW52cy9tdWxsZWQtdjEtNmMyYjllYmI0NzVhMzdiZDBkOWNhNzg1NzQ3NGU4NTc0NzE5ZTU0NmRlODgyODEwZjc4MjhmZTU5OTNhOGFkZi9saWIvcHl0aG9uMy4xMy9zaXRlLXBhY2thZ2VzL2RuYWNhdWxkcm9uL1NlcXVlbmNlUmVwb3NpdG9yeS5weSIsIGxpbmUgOTYsIGluIGFkZF9yZWNvcmRzCiAgICAgICAgICBzZWxmLmFkZF9yZWNvcmQocmVjb3JkLCBjb2xsZWN0aW9uPWNvbGxlY3Rpb24pCiAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCiAgICAgICAgRmlsZSAiL2hvbWUvcmtoYWxlZC9taW5pY29uZGEzL2VudnMvbXVsbGVkLXYxLTZjMmI5ZWJiNDc1YTM3YmQwZDljYTc4NTc0NzRlODU3NDcxOWU1NDZkZTg4MjgxMGY3ODI4ZmU1OTkzYThhZGYvbGliL3B5dGhvbjMuMTMvc2l0ZS1wYWNrYWdlcy9kbmFjYXVsZHJvbi9TZXF1ZW5jZVJlcG9zaXRvcnkucHkiLCBsaW5lIDg1LCBpbiBhZGRfcmVjb3JkCiAgICAgICAgICByYWlzZSBSZXBvc2l0b3J5RHVwbGljYXRlRXJyb3IoW3JlY29yZC5pZF0sIHJlcG9zaXRvcnk9c2VsZikKICAgICAgZG5hY2F1bGRyb24uU2VxdWVuY2VSZXBvc2l0b3J5LlJlcG9zaXRvcnlEdXBsaWNhdGVFcnJvcjogUGFydCBJRCBkYXRhc2V0XzRjN2M2NzFiLTVmYzMtNGU5Ni1iN2YyLTdlMzA5ZDUzNTg4ZCBkdXBsaWNhdGVkIGluICBpbiByZXBvCiAgICAgIC4KICAgICAgYGBgCiAgICAqIGBgYAogICAgICBPdXRwdXQgY29sbGVjdGlvbiAnY29uc3RydWN0X2diJzogZXhwZWN0ZWQgdG8gaGF2ZSA0IGVsZW1lbnRzLCBidXQgaXQgaGFkIDAuCiAgICAgIGBgYAogICAgKipDb21tYW5kIExpbmU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgbWtkaXIgJ291dGRpcl96aXAnICYmIG1rZGlyICdvdXRkaXJfZ2InICYmIGNwICcvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzgvNi84L2RhdGFzZXRfODY4ZWRmYzYtZTU5ZS00NTIyLWJkMGMtMjg3MTQwZDI3YmNmLmRhdCcgJ2Fzc2VtYmx5X2Nzdi5jc3YnICYmIHB5dGhvbiAnL2hvbWUvcmtoYWxlZC9nYWxheHl0b29scy90b29scy9jbG9uaW5nX3NpbXVsYXRpb24vY2xvbmluZ19zaW11bGF0aW9uLnB5JyAtLXBhcnRzX2ZpbGVzICcvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzQvYy83L2RhdGFzZXRfNGM3YzY3MWItNWZjMy00ZTk2LWI3ZjItN2UzMDlkNTM1ODhkLmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzQvYy82L2RhdGFzZXRfNGM2YjRjMDItOGY4NC00MzE0LThhMTMtNjgyYTg1NTAwNWUwLmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzIvOS9jL2RhdGFzZXRfMjljMjA3ZmMtMzk1OC00MGI3LThkM2EtMjk0ODZlYmU3MjllLmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2MvNi9lL2RhdGFzZXRfYzZlMTRhYmMtNGNjMy00MDI3LWJiMWItY2Y4N2I0ZGYyZTRjLmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2MvYi85L2RhdGFzZXRfY2I5MGMwZWMtYzVkNS00YTBjLWEyYTgtODJiZGY1OGE0ZGNkLmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2UvYi82L2RhdGFzZXRfZWI2NzMzZjItZWE5MS00Y2UyLTg3OGMtMGJjYTc4OWJmZTk1LmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2QvZS9hL2RhdGFzZXRfZGVhN2EzMDAtYjA5OC00MWExLTg2M2QtZWM1NWUzYjc4YmRhLmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzEvMy8zL2RhdGFzZXRfMTMzMDAzNTMtOGI4ZC00YmQ0LTlkMjUtODhkY2VkYTc1OTRiLmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzYvMS9mL2RhdGFzZXRfNjFmZmI3ZDYtODU2YS00ZTRhLTlkYTMtNDhhNDE5NDU1ZTkyLmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2UvNi80L2RhdGFzZXRfZTY0MzE2MzQtMDc3ZS00NTFlLWFmYTMtYjEyYzA4ZmM1YzdjLmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzcvNS84L2RhdGFzZXRfNzU4YjRhNDUtYzE3ZC00ZDFhLWEyODktNzlkM2IyZGZlNTI0LmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzIvMi82L2RhdGFzZXRfMjI2ODg5YTEtMDU0My00MDUyLTlkOTQtMzI3NmFjZGJkOGFkLmRhdCcgLS1kb21lc3RpY2F0ZWRfc2VxICcvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzQvYy83L2RhdGFzZXRfNGM3YzY3MWItNWZjMy00ZTk2LWI3ZjItN2UzMDlkNTM1ODhkLmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzQvYy82L2RhdGFzZXRfNGM2YjRjMDItOGY4NC00MzE0LThhMTMtNjgyYTg1NTAwNWUwLmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzIvOS9jL2RhdGFzZXRfMjljMjA3ZmMtMzk1OC00MGI3LThkM2EtMjk0ODZlYmU3MjllLmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2MvNi9lL2RhdGFzZXRfYzZlMTRhYmMtNGNjMy00MDI3LWJiMWItY2Y4N2I0ZGYyZTRjLmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2MvYi85L2RhdGFzZXRfY2I5MGMwZWMtYzVkNS00YTBjLWEyYTgtODJiZGY1OGE0ZGNkLmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2UvYi82L2RhdGFzZXRfZWI2NzMzZjItZWE5MS00Y2UyLTg3OGMtMGJjYTc4OWJmZTk1LmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2QvZS9hL2RhdGFzZXRfZGVhN2EzMDAtYjA5OC00MWExLTg2M2QtZWM1NWUzYjc4YmRhLmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzEvMy8zL2RhdGFzZXRfMTMzMDAzNTMtOGI4ZC00YmQ0LTlkMjUtODhkY2VkYTc1OTRiLmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzYvMS9mL2RhdGFzZXRfNjFmZmI3ZDYtODU2YS00ZTRhLTlkYTMtNDhhNDE5NDU1ZTkyLmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2UvNi80L2RhdGFzZXRfZTY0MzE2MzQtMDc3ZS00NTFlLWFmYTMtYjEyYzA4ZmM1YzdjLmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzcvNS84L2RhdGFzZXRfNzU4YjRhNDUtYzE3ZC00ZDFhLWEyODktNzlkM2IyZGZlNTI0LmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzIvMi82L2RhdGFzZXRfMjI2ODg5YTEtMDU0My00MDUyLTlkOTQtMzI3NmFjZGJkOGFkLmRhdCcgLS1hc3NlbWJseV9jc3YgJ2Fzc2VtYmx5X2Nzdi5jc3YnIC0tYXNzZW1ibHlfcGxhbl9uYW1lICdUeXBlMnNSZXN0cmljdGlvbkFzc2VtYmx5JyAtLWZpbGVfbmFtZV9tYXBwaW5nICcvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzQvYy83L2RhdGFzZXRfNGM3YzY3MWItNWZjMy00ZTk2LWI3ZjItN2UzMDlkNTM1ODhkLmRhdDpwYXJ0X0EuZ2IsL3RtcC90bXBvM25wZnpkay9maWxlcy80L2MvNi9kYXRhc2V0XzRjNmI0YzAyLThmODQtNDMxNC04YTEzLTY4MmE4NTUwMDVlMC5kYXQ6cGFydF9CLmdiLC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvMi85L2MvZGF0YXNldF8yOWMyMDdmYy0zOTU4LTQwYjctOGQzYS0yOTQ4NmViZTcyOWUuZGF0OnBhcnRfQy5nYiwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2MvNi9lL2RhdGFzZXRfYzZlMTRhYmMtNGNjMy00MDI3LWJiMWItY2Y4N2I0ZGYyZTRjLmRhdDpwYXJ0X0QuZ2IsL3RtcC90bXBvM25wZnpkay9maWxlcy9jL2IvOS9kYXRhc2V0X2NiOTBjMGVjLWM1ZDUtNGEwYy1hMmE4LTgyYmRmNThhNGRjZC5kYXQ6cGFydF9FLmdiLC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvZS9iLzYvZGF0YXNldF9lYjY3MzNmMi1lYTkxLTRjZTItODc4Yy0wYmNhNzg5YmZlOTUuZGF0OnBhcnRfRi5nYiwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2QvZS9hL2RhdGFzZXRfZGVhN2EzMDAtYjA5OC00MWExLTg2M2QtZWM1NWUzYjc4YmRhLmRhdDpwYXJ0X0cuZ2IsL3RtcC90bXBvM25wZnpkay9maWxlcy8xLzMvMy9kYXRhc2V0XzEzMzAwMzUzLThiOGQtNGJkNC05ZDI1LTg4ZGNlZGE3NTk0Yi5kYXQ6cGFydF9ILmdiLC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvNi8xL2YvZGF0YXNldF82MWZmYjdkNi04NTZhLTRlNGEtOWRhMy00OGE0MTk0NTVlOTIuZGF0OnBhcnRfSS5nYiwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2UvNi80L2RhdGFzZXRfZTY0MzE2MzQtMDc3ZS00NTFlLWFmYTMtYjEyYzA4ZmM1YzdjLmRhdDpwYXJ0X0ouZ2IsL3RtcC90bXBvM25wZnpkay9maWxlcy83LzUvOC9kYXRhc2V0Xzc1OGI0YTQ1LWMxN2QtNGQxYS1hMjg5LTc5ZDNiMmRmZTUyNC5kYXQ6cGFydF9LLmdiLC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvMi8yLzYvZGF0YXNldF8yMjY4ODlhMS0wNTQzLTQwNTItOWQ5NC0zMjc2YWNkYmQ4YWQuZGF0OnBhcnRfTC5nYicgLS1maWxlX25hbWVfbWFwcGluZ19kb20gJy90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvNC9jLzcvZGF0YXNldF80YzdjNjcxYi01ZmMzLTRlOTYtYjdmMi03ZTMwOWQ1MzU4OGQuZGF0OnBhcnRfQS5nYiwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzQvYy82L2RhdGFzZXRfNGM2YjRjMDItOGY4NC00MzE0LThhMTMtNjgyYTg1NTAwNWUwLmRhdDpwYXJ0X0IuZ2IsL3RtcC90bXBvM25wZnpkay9maWxlcy8yLzkvYy9kYXRhc2V0XzI5YzIwN2ZjLTM5NTgtNDBiNy04ZDNhLTI5NDg2ZWJlNzI5ZS5kYXQ6cGFydF9DLmdiLC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvYy82L2UvZGF0YXNldF9jNmUxNGFiYy00Y2MzLTQwMjctYmIxYi1jZjg3YjRkZjJlNGMuZGF0OnBhcnRfRC5nYiwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2MvYi85L2RhdGFzZXRfY2I5MGMwZWMtYzVkNS00YTBjLWEyYTgtODJiZGY1OGE0ZGNkLmRhdDpwYXJ0X0UuZ2IsL3RtcC90bXBvM25wZnpkay9maWxlcy9lL2IvNi9kYXRhc2V0X2ViNjczM2YyLWVhOTEtNGNlMi04NzhjLTBiY2E3ODliZmU5NS5kYXQ6cGFydF9GLmdiLC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvZC9lL2EvZGF0YXNldF9kZWE3YTMwMC1iMDk4LTQxYTEtODYzZC1lYzU1ZTNiNzhiZGEuZGF0OnBhcnRfRy5nYiwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzEvMy8zL2RhdGFzZXRfMTMzMDAzNTMtOGI4ZC00YmQ0LTlkMjUtODhkY2VkYTc1OTRiLmRhdDpwYXJ0X0guZ2IsL3RtcC90bXBvM25wZnpkay9maWxlcy82LzEvZi9kYXRhc2V0XzYxZmZiN2Q2LTg1NmEtNGU0YS05ZGEzLTQ4YTQxOTQ1NWU5Mi5kYXQ6cGFydF9JLmdiLC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvZS82LzQvZGF0YXNldF9lNjQzMTYzNC0wNzdlLTQ1MWUtYWZhMy1iMTJjMDhmYzVjN2MuZGF0OnBhcnRfSi5nYiwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzcvNS84L2RhdGFzZXRfNzU4YjRhNDUtYzE3ZC00ZDFhLWEyODktNzlkM2IyZGZlNTI0LmRhdDpwYXJ0X0suZ2IsL3RtcC90bXBvM25wZnpkay9maWxlcy8yLzIvNi9kYXRhc2V0XzIyNjg4OWExLTA1NDMtNDA1Mi05ZDk0LTMyNzZhY2RiZDhhZC5kYXQ6cGFydF9MLmdiJyAtLXVzZV9maWxlX25hbWVzX2FzX2lkICd0cnVlJyAtLW91dGRpcl9zaW11bGF0aW9uICdvdXRkaXJfemlwJyAtLW91dGRpcl9nYiAnb3V0ZGlyX2diJyAtLW91dHB1dF9zaW11bGF0aW9uICdvdXRwdXRfemlwLnppcCcgLS1lbnp5bWUgJ2F1dG8nIC0tdG9wb2xvZ3kgJ2NpcmN1bGFyJyAmJiBjcCAnb3V0cHV0X3ppcC56aXAnICcvdG1wL3RtcG8zbnBmemRrL2pvYl93b3JraW5nX2RpcmVjdG9yeS8wMDAvNjMvb3V0cHV0cy9kYXRhc2V0XzdlYzRjY2VhLTZkNTMtNGQyYy1iMzQzLTQ3NjAxM2U4YzBkOS5kYXQnCiAgICAgIGBgYAogICAgKipFeGl0IENvZGU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgMQogICAgICBgYGAKICAgICoqU3RhbmRhcmQgRXJyb3I6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogICAgICAgIEZpbGUgIi9ob21lL3JraGFsZWQvZ2FsYXh5dG9vbHMvdG9vbHMvY2xvbmluZ19zaW11bGF0aW9uL2Nsb25pbmdfc2ltdWxhdGlvbi5weSIsIGxpbmUgMTY1LCBpbiA8bW9kdWxlPgogICAgICAgICAgY2xvbmluZ19zaW11bGF0aW9uKAogICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+XgogICAgICAgICAgICAgIGFyZ3MucGFydHNfZmlsZXMsIGFyZ3MuZG9tZXN0aWNhdGVkX3NlcSwKICAgICAgICAgICAgICBeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCiAgICAgICAgICAuLi48MyBsaW5lcz4uLi4KICAgICAgICAgICAgICBhcmdzLm91dHB1dF9zaW11bGF0aW9uLCBhcmdzLmVuenltZSwgYXJncy5vdXRkaXJfZ2IKICAgICAgICAgICAgICBeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KICAgICAgICAgICkKICAgICAgICAgIF4KICAgICAgICBGaWxlICIvaG9tZS9ya2hhbGVkL2dhbGF4eXRvb2xzL3Rvb2xzL2Nsb25pbmdfc2ltdWxhdGlvbi9jbG9uaW5nX3NpbXVsYXRpb24ucHkiLCBsaW5lIDIyLCBpbiBjbG9uaW5nX3NpbXVsYXRpb24KICAgICAgICAgIHJlcG9zaXRvcnkuaW1wb3J0X3JlY29yZHMoZmlsZXM9ZG9tZXN0aWNhdGVkX2ZpbGVzLAogICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZV9maWxlX25hbWVzX2FzX2lkcz11c2VfZmlsZV9uYW1lc19hc19pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3BvbG9neT10b3BvbG9neSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXl5eXl5eXl5eXl5eXl5eXl5eCiAgICAgICAgRmlsZSAiL2hvbWUvcmtoYWxlZC9taW5pY29uZGEzL2VudnMvbXVsbGVkLXYxLTZjMmI5ZWJiNDc1YTM3YmQwZDljYTc4NTc0NzRlODU3NDcxOWU1NDZkZTg4MjgxMGY3ODI4ZmU1OTkzYThhZGYvbGliL3B5dGhvbjMuMTMvc2l0ZS1wYWNrYWdlcy9kbmFjYXVsZHJvbi9TZXF1ZW5jZVJlcG9zaXRvcnkucHkiLCBsaW5lIDE3MCwgaW4gaW1wb3J0X3JlY29yZHMKICAgICAgICAgIHNlbGYuYWRkX3JlY29yZHMocmVjb3JkcywgY29sbGVjdGlvbj1jb2xsZWN0aW9uKQogICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCiAgICAgICAgRmlsZSAiL2hvbWUvcmtoYWxlZC9taW5pY29uZGEzL2VudnMvbXVsbGVkLXYxLTZjMmI5ZWJiNDc1YTM3YmQwZDljYTc4NTc0NzRlODU3NDcxOWU1NDZkZTg4MjgxMGY3ODI4ZmU1OTkzYThhZGYvbGliL3B5dGhvbjMuMTMvc2l0ZS1wYWNrYWdlcy9kbmFjYXVsZHJvbi9TZXF1ZW5jZVJlcG9zaXRvcnkucHkiLCBsaW5lIDk2LCBpbiBhZGRfcmVjb3JkcwogICAgICAgICAgc2VsZi5hZGRfcmVjb3JkKHJlY29yZCwgY29sbGVjdGlvbj1jb2xsZWN0aW9uKQogICAgICAgICAgfn5+fn5+fn5+fn5+fn5+Xl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgogICAgICAgIEZpbGUgIi9ob21lL3JraGFsZWQvbWluaWNvbmRhMy9lbnZzL211bGxlZC12MS02YzJiOWViYjQ3NWEzN2JkMGQ5Y2E3ODU3NDc0ZTg1NzQ3MTllNTQ2ZGU4ODI4MTBmNzgyOGZlNTk5M2E4YWRmL2xpYi9weXRob24zLjEzL3NpdGUtcGFja2FnZXMvZG5hY2F1bGRyb24vU2VxdWVuY2VSZXBvc2l0b3J5LnB5IiwgbGluZSA4NSwgaW4gYWRkX3JlY29yZAogICAgICAgICAgcmFpc2UgUmVwb3NpdG9yeUR1cGxpY2F0ZUVycm9yKFtyZWNvcmQuaWRdLCByZXBvc2l0b3J5PXNlbGYpCiAgICAgIGRuYWNhdWxkcm9uLlNlcXVlbmNlUmVwb3NpdG9yeS5SZXBvc2l0b3J5RHVwbGljYXRlRXJyb3I6IFBhcnQgSUQgZGF0YXNldF80YzdjNjcxYi01ZmMzLTRlOTYtYjdmMi03ZTMwOWQ1MzU4OGQgZHVwbGljYXRlZCBpbiAgaW4gcmVwbwoKICAgICAgYGBgCiAgICAqKlRyYWNlYmFjazoqKgoKICAgICogYGBgY29uc29sZQogICAgICAKICAgICAgYGBgCiAgICoqSm9iIFBhcmFtZXRlcnM6KioKCiAgICogICB8IEpvYiBwYXJhbWV0ZXIgfCBQYXJhbWV0ZXIgdmFsdWUgfAogICAgICAgfCAtLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tIHwKICAgICAgIHwgZ2VuYmFua1xfZmlsZXMgfCBgIHsidmFsdWVzIjogW3siaWQiOiAxNCwgInNyYyI6ICJoZGNhIn1dfSBgIHwKICAgICAgIHwgZG9tZXN0aWNhdGVkXF9pbnB1dCB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDE0LCAic3JjIjogImhkY2EifV19IGAgfAogICAgICAgfCBhc3NlbWJseVxfcGxhblxfbmFtZSB8IGAgIlR5cGUyc1Jlc3RyaWN0aW9uQXNzZW1ibHkiIGAgfAogICAgICAgfCB0b3BvbG9neSB8IGAgImNpcmN1bGFyIiBgIHwKICAgICAgIHwgYWR2IHwgYCB7ImVuenltZSI6ICJhdXRvIiwgInVzZV9maWxlX25hbWVzX2FzX2lkcyI6IHRydWV9IGAgfAogICAgICAgfCBjaHJvbUluZm8gfCBgICIvdG1wL3RtcG8zbnBmemRrL2dhbGF4eS1kZXYvdG9vbC1kYXRhL3NoYXJlZC91Y3NjL2Nocm9tLz8ubGVuIiBgIHwKICAgICAgIHwgZGJrZXkgfCBgICI/IiBgIHwKICAgICAgIHwgXF9cX2lucHV0XF9leHQgfCBgICJpbnB1dCIgYCB8CgoKCiAgICA8L2Rpdj48L2RldGFpbHM+CgoKPC9kZXRhaWxzPgo8ZGV0YWlscyA+PHN1bW1hcnk+UGFzc2VkIFRlc3RzPC9zdW1tYXJ5PgoKKiA8ZGV0YWlscyBjbGFzcz0icmNvcm5lcnMgbGlnaHQtZ3JlZW4iPjxzdW1tYXJ5IGNsYXNzPSJsaWdodC1ncmVlbiI+JiM5OTg5OyBjbG9uaW5nX3NpbXVsYXRpb24gKFRlc3QgIyAxKTwvc3VtbWFyeT48ZGl2IGNsYXNzPSJwYWRkZWQiPgoKICAgICoqQ29tbWFuZCBMaW5lOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIG1rZGlyICdvdXRkaXJfemlwJyAmJiBta2RpciAnb3V0ZGlyX2diJyAmJiBjcCAnL3RtcC90bXBvM25wZnpkay9maWxlcy9hLzUvNy9kYXRhc2V0X2E1Nzk0MjllLWVhYmYtNDhiZi04YmFhLTRiNTRlMzQwYWY0Ni5kYXQnICdhc3NlbWJseV9jc3YuY3N2JyAmJiBweXRob24gJy9ob21lL3JraGFsZWQvZ2FsYXh5dG9vbHMvdG9vbHMvY2xvbmluZ19zaW11bGF0aW9uL2Nsb25pbmdfc2ltdWxhdGlvbi5weScgLS1wYXJ0c19maWxlcyAnL3RtcC90bXBvM25wZnpkay9maWxlcy9lLzgvNi9kYXRhc2V0X2U4NmFkMzA2LTY5NjAtNGRlYy04MGZiLTAyM2ZhNmRhNTIyNy5kYXQsL3RtcC90bXBvM25wZnpkay9maWxlcy9kLzMvNC9kYXRhc2V0X2QzNDBiMmVlLWYwNjEtNDAyOC04ZTYxLWMzODRhZmM0Njc4YS5kYXQsL3RtcC90bXBvM25wZnpkay9maWxlcy8xLzkvNS9kYXRhc2V0XzE5NTY5Njc2LTQyYjgtNDdmNi1iYjZkLWZkODY1OGNkNmEzNy5kYXQsL3RtcC90bXBvM25wZnpkay9maWxlcy8wLzUvYS9kYXRhc2V0XzA1YTYzYWYwLWY5YTMtNDJmMC04YmE4LTc0MzU5MzAxMzk1ZS5kYXQsL3RtcC90bXBvM25wZnpkay9maWxlcy9jLzYvMy9kYXRhc2V0X2M2MzY3MDRiLThmMmEtNGNiNi05YjhjLTE3MjE0ZGFkYjA4ZC5kYXQsL3RtcC90bXBvM25wZnpkay9maWxlcy84LzUvNS9kYXRhc2V0Xzg1NWQ5MDYyLWFmZTEtNDhiNy1hMWU5LWE0OTk1MzYxNTVhYS5kYXQsL3RtcC90bXBvM25wZnpkay9maWxlcy9lLzMvNy9kYXRhc2V0X2UzNzUwOWZmLTgwMTYtNDljZS1hOWNhLWZiMDY2YTViNmJlNi5kYXQsL3RtcC90bXBvM25wZnpkay9maWxlcy9lL2QvZC9kYXRhc2V0X2VkZGU0OTlhLTYyNDctNDg3NC04ZWY2LTkyMWZhN2QzMTFiNi5kYXQsL3RtcC90bXBvM25wZnpkay9maWxlcy82LzYvYy9kYXRhc2V0XzY2YzRkZWNmLTg0NjktNDMwMi04OTU3LTMyMGUyMzZjN2VlNy5kYXQsL3RtcC90bXBvM25wZnpkay9maWxlcy8wL2YvZS9kYXRhc2V0XzBmZTE3NzJhLWQ4YjEtNGI5MS1hZWUwLTFhNmQxNTc3NTkwZS5kYXQsL3RtcC90bXBvM25wZnpkay9maWxlcy9jLzEvYS9kYXRhc2V0X2MxYWE5YjU2LWYxNTUtNDRhZi04YWY1LTE5OTdmM2FlNDhhNy5kYXQsL3RtcC90bXBvM25wZnpkay9maWxlcy8yLzcvMS9kYXRhc2V0XzI3MTQ4ZjVlLWQzZjAtNDViOS1hNWY2LTkwZDEyNzY3YjJhZi5kYXQnIC0tZG9tZXN0aWNhdGVkX3NlcSAnJyAtLWFzc2VtYmx5X2NzdiAnYXNzZW1ibHlfY3N2LmNzdicgLS1hc3NlbWJseV9wbGFuX25hbWUgJ1R5cGUyc1Jlc3RyaWN0aW9uQXNzZW1ibHknIC0tZmlsZV9uYW1lX21hcHBpbmcgJy90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvZS84LzYvZGF0YXNldF9lODZhZDMwNi02OTYwLTRkZWMtODBmYi0wMjNmYTZkYTUyMjcuZGF0OnBhcnRfQS5nYiwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2QvMy80L2RhdGFzZXRfZDM0MGIyZWUtZjA2MS00MDI4LThlNjEtYzM4NGFmYzQ2NzhhLmRhdDpwYXJ0X0IuZ2IsL3RtcC90bXBvM25wZnpkay9maWxlcy8xLzkvNS9kYXRhc2V0XzE5NTY5Njc2LTQyYjgtNDdmNi1iYjZkLWZkODY1OGNkNmEzNy5kYXQ6cGFydF9DLmdiLC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvMC81L2EvZGF0YXNldF8wNWE2M2FmMC1mOWEzLTQyZjAtOGJhOC03NDM1OTMwMTM5NWUuZGF0OnBhcnRfRC5nYiwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2MvNi8zL2RhdGFzZXRfYzYzNjcwNGItOGYyYS00Y2I2LTliOGMtMTcyMTRkYWRiMDhkLmRhdDpwYXJ0X0UuZ2IsL3RtcC90bXBvM25wZnpkay9maWxlcy84LzUvNS9kYXRhc2V0Xzg1NWQ5MDYyLWFmZTEtNDhiNy1hMWU5LWE0OTk1MzYxNTVhYS5kYXQ6cGFydF9GLmdiLC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvZS8zLzcvZGF0YXNldF9lMzc1MDlmZi04MDE2LTQ5Y2UtYTljYS1mYjA2NmE1YjZiZTYuZGF0OnBhcnRfRy5nYiwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2UvZC9kL2RhdGFzZXRfZWRkZTQ5OWEtNjI0Ny00ODc0LThlZjYtOTIxZmE3ZDMxMWI2LmRhdDpwYXJ0X0guZ2IsL3RtcC90bXBvM25wZnpkay9maWxlcy82LzYvYy9kYXRhc2V0XzY2YzRkZWNmLTg0NjktNDMwMi04OTU3LTMyMGUyMzZjN2VlNy5kYXQ6cGFydF9JLmdiLC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvMC9mL2UvZGF0YXNldF8wZmUxNzcyYS1kOGIxLTRiOTEtYWVlMC0xYTZkMTU3NzU5MGUuZGF0OnBhcnRfSi5nYiwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2MvMS9hL2RhdGFzZXRfYzFhYTliNTYtZjE1NS00NGFmLThhZjUtMTk5N2YzYWU0OGE3LmRhdDpwYXJ0X0suZ2IsL3RtcC90bXBvM25wZnpkay9maWxlcy8yLzcvMS9kYXRhc2V0XzI3MTQ4ZjVlLWQzZjAtNDViOS1hNWY2LTkwZDEyNzY3YjJhZi5kYXQ6cGFydF9MLmdiJyAtLWZpbGVfbmFtZV9tYXBwaW5nX2RvbSAnJyAtLXVzZV9maWxlX25hbWVzX2FzX2lkICd0cnVlJyAtLW91dGRpcl9zaW11bGF0aW9uICdvdXRkaXJfemlwJyAtLW91dGRpcl9nYiAnb3V0ZGlyX2diJyAtLW91dHB1dF9zaW11bGF0aW9uICdvdXRwdXRfemlwLnppcCcgLS1lbnp5bWUgJ2F1dG8nIC0tdG9wb2xvZ3kgJ2NpcmN1bGFyJyAmJiBjcCAnb3V0cHV0X3ppcC56aXAnICcvdG1wL3RtcG8zbnBmemRrL2pvYl93b3JraW5nX2RpcmVjdG9yeS8wMDAvMTQvb3V0cHV0cy9kYXRhc2V0X2Q0YTNhODI0LWFhZTktNDQ5My04MTFkLTc3YThhYmQ2OTkwNS5kYXQnCiAgICAgIGBgYAogICAgKipFeGl0IENvZGU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgMAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgRXJyb3I6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvNCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogIDUwJXzilojilojilojilojiloggICAgIHwgMi80IFswMDowMDwwMDowMCwgIDIuNDJpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA3NSV84paI4paI4paI4paI4paI4paI4paI4paMICB8IDMvNCBbMDA6MDE8MDA6MDAsICAyLjIwaXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAxMDAlfOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiHwgNC80IFswMDowMjwwMDowMCwgIDEuNzlpdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIE91dHB1dDoqKgoKICAgICogYGBgY29uc29sZQogICAgICBTaW11bGF0aW5nIGFzc2VtYmx5IHBsYW4gYXNzYW1ibHkuLi4KICAgICAgeydjYW5jZWxsZWRfYXNzZW1ibGllcyc6IDAsICdlcnJvcmVkX2Fzc2VtYmxpZXMnOiAwLCAndmFsaWRfYXNzZW1ibGllcyc6IDR9CiAgICAgIEdlbmVyYXRpbmcgYXNzZW1ibGllcyByZXBvcnRzLi4uCgogICAgICBgYGAKICAgICoqVHJhY2ViYWNrOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBgYGAKICAgKipKb2IgUGFyYW1ldGVyczoqKgoKICAgKiAgIHwgSm9iIHBhcmFtZXRlciB8IFBhcmFtZXRlciB2YWx1ZSB8CiAgICAgICB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfAogICAgICAgfCBnZW5iYW5rXF9maWxlcyB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDEsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGRvbWVzdGljYXRlZFxfaW5wdXQgfCBgIE5vbmUgYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiVHlwZTJzUmVzdHJpY3Rpb25Bc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1wbzNucGZ6ZGsvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgoqIDxkZXRhaWxzIGNsYXNzPSJyY29ybmVycyBsaWdodC1ncmVlbiI+PHN1bW1hcnkgY2xhc3M9ImxpZ2h0LWdyZWVuIj4mIzk5ODk7IGNsb25pbmdfc2ltdWxhdGlvbiAoVGVzdCAjIDIpPC9zdW1tYXJ5PjxkaXYgY2xhc3M9InBhZGRlZCI+CgogICAgKipDb21tYW5kIExpbmU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgbWtkaXIgJ291dGRpcl96aXAnICYmIG1rZGlyICdvdXRkaXJfZ2InICYmIGNwICcvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2UvYy8yL2RhdGFzZXRfZWMyNDQ1ZjItM2M2NS00ZGE4LThlZmYtYjc2Njk4M2JmYzY3LmRhdCcgJ2Fzc2VtYmx5X2Nzdi5jc3YnICYmIHB5dGhvbiAnL2hvbWUvcmtoYWxlZC9nYWxheHl0b29scy90b29scy9jbG9uaW5nX3NpbXVsYXRpb24vY2xvbmluZ19zaW11bGF0aW9uLnB5JyAtLXBhcnRzX2ZpbGVzICcvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzYvNy9mL2RhdGFzZXRfNjdmODg5MzgtYWQ3Ni00NzYwLTlmMzctMGFkNjU2MzY3N2QyLmRhdCcgLS1kb21lc3RpY2F0ZWRfc2VxICcnIC0tYXNzZW1ibHlfY3N2ICdhc3NlbWJseV9jc3YuY3N2JyAtLWFzc2VtYmx5X3BsYW5fbmFtZSAnR2lic29uQXNzZW1ibHknIC0tZmlsZV9uYW1lX21hcHBpbmcgJy90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvNi83L2YvZGF0YXNldF82N2Y4ODkzOC1hZDc2LTQ3NjAtOWYzNy0wYWQ2NTYzNjc3ZDIuZGF0OmdpYnNvbl9zZXF1ZW5jZXMuZmEnIC0tZmlsZV9uYW1lX21hcHBpbmdfZG9tICcnIC0tdXNlX2ZpbGVfbmFtZXNfYXNfaWQgJ3RydWUnIC0tb3V0ZGlyX3NpbXVsYXRpb24gJ291dGRpcl96aXAnIC0tb3V0ZGlyX2diICdvdXRkaXJfZ2InIC0tb3V0cHV0X3NpbXVsYXRpb24gJ291dHB1dF96aXAuemlwJyAtLWVuenltZSAnYXV0bycgLS10b3BvbG9neSAnY2lyY3VsYXInICYmIGNwICdvdXRwdXRfemlwLnppcCcgJy90bXAvdG1wbzNucGZ6ZGsvam9iX3dvcmtpbmdfZGlyZWN0b3J5LzAwMC8xNy9vdXRwdXRzL2RhdGFzZXRfOTg5ZTQxNWQtNzExNy00YzZhLTk3MjEtYTQ3MWQ0ODQ4YjI4LmRhdCcKICAgICAgYGBgCiAgICAqKkV4aXQgQ29kZToqKgoKICAgICogYGBgY29uc29sZQogICAgICAwCiAgICAgIGBgYAogICAgKipTdGFuZGFyZCBFcnJvcjoqKgoKICAgICogYGBgY29uc29sZQogICAgICAKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC81IFswMDowMDw/LCA/aXQvcywgbm93PU5vbmVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC81IFswMDowMDw/LCA/aXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAgNDAlfOKWiOKWiOKWiOKWiCAgICAgIHwgMi81IFswMDowMDwwMDowMCwgIDQuNDFpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA2MCV84paI4paI4paI4paI4paI4paIICAgIHwgMy81IFswMDowMDwwMDowMCwgIDQuMjNpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA4MCV84paI4paI4paI4paI4paI4paI4paI4paIICB8IDQvNSBbMDA6MDA8MDA6MDAsICA0LjIzaXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAxMDAlfOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiHwgNS81IFswMDowMTwwMDowMCwgIDMuNTRpdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIE91dHB1dDoqKgoKICAgICogYGBgY29uc29sZQogICAgICBTaW11bGF0aW5nIGFzc2VtYmx5IHBsYW4gYXNzYW1ibHkuLi4KICAgICAgeydjYW5jZWxsZWRfYXNzZW1ibGllcyc6IDAsICdlcnJvcmVkX2Fzc2VtYmxpZXMnOiAyLCAndmFsaWRfYXNzZW1ibGllcyc6IDN9CiAgICAgIEdlbmVyYXRpbmcgYXNzZW1ibGllcyByZXBvcnRzLi4uCgogICAgICBgYGAKICAgICoqVHJhY2ViYWNrOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBgYGAKICAgKipKb2IgUGFyYW1ldGVyczoqKgoKICAgKiAgIHwgSm9iIHBhcmFtZXRlciB8IFBhcmFtZXRlciB2YWx1ZSB8CiAgICAgICB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfAogICAgICAgfCBnZW5iYW5rXF9maWxlcyB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDMsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGRvbWVzdGljYXRlZFxfaW5wdXQgfCBgIE5vbmUgYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiR2lic29uQXNzZW1ibHkiIGAgfAogICAgICAgfCB0b3BvbG9neSB8IGAgImNpcmN1bGFyIiBgIHwKICAgICAgIHwgYWR2IHwgYCB7ImVuenltZSI6ICJhdXRvIiwgInVzZV9maWxlX25hbWVzX2FzX2lkcyI6IHRydWV9IGAgfAogICAgICAgfCBjaHJvbUluZm8gfCBgICIvdG1wL3RtcG8zbnBmemRrL2dhbGF4eS1kZXYvdG9vbC1kYXRhL3NoYXJlZC91Y3NjL2Nocm9tLz8ubGVuIiBgIHwKICAgICAgIHwgZGJrZXkgfCBgICI/IiBgIHwKICAgICAgIHwgXF9cX2lucHV0XF9leHQgfCBgICJpbnB1dCIgYCB8CgoKCiAgICA8L2Rpdj48L2RldGFpbHM+CgoKKiA8ZGV0YWlscyBjbGFzcz0icmNvcm5lcnMgbGlnaHQtZ3JlZW4iPjxzdW1tYXJ5IGNsYXNzPSJsaWdodC1ncmVlbiI+JiM5OTg5OyBjbG9uaW5nX3NpbXVsYXRpb24gKFRlc3QgIyAzKTwvc3VtbWFyeT48ZGl2IGNsYXNzPSJwYWRkZWQiPgoKICAgICoqQ29tbWFuZCBMaW5lOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIG1rZGlyICdvdXRkaXJfemlwJyAmJiBta2RpciAnb3V0ZGlyX2diJyAmJiBjcCAnL3RtcC90bXBvM25wZnpkay9maWxlcy9mLzgvZS9kYXRhc2V0X2Y4ZThmMTkwLTY0NDgtNDE0My05YzlkLTMxODk4MzU1NGY2ZS5kYXQnICdhc3NlbWJseV9jc3YuY3N2JyAmJiBweXRob24gJy9ob21lL3JraGFsZWQvZ2FsYXh5dG9vbHMvdG9vbHMvY2xvbmluZ19zaW11bGF0aW9uL2Nsb25pbmdfc2ltdWxhdGlvbi5weScgLS1wYXJ0c19maWxlcyAnL3RtcC90bXBvM25wZnpkay9maWxlcy9mLzAvZC9kYXRhc2V0X2YwZDYwMWY1LWFlYjUtNGRkZS04OGYyLTFlZjkwZjJjZWU5ZC5kYXQsL3RtcC90bXBvM25wZnpkay9maWxlcy8wLzEvZS9kYXRhc2V0XzAxZWY5MmViLTcyOTctNDllZC1iOTMzLTIxZTJmZDEzYWJkZS5kYXQnIC0tZG9tZXN0aWNhdGVkX3NlcSAnJyAtLWFzc2VtYmx5X2NzdiAnYXNzZW1ibHlfY3N2LmNzdicgLS1hc3NlbWJseV9wbGFuX25hbWUgJ0xpZ2FzZUN5Y2xpbmdSZWFjdGlvbkFzc2VtYmx5JyAtLWZpbGVfbmFtZV9tYXBwaW5nICcvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2YvMC9kL2RhdGFzZXRfZjBkNjAxZjUtYWViNS00ZGRlLTg4ZjItMWVmOTBmMmNlZTlkLmRhdDpSRlBfR0ZQX3BsYXNtaWRfQk9zLmZhLC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvMC8xL2UvZGF0YXNldF8wMWVmOTJlYi03Mjk3LTQ5ZWQtYjkzMy0yMWUyZmQxM2FiZGUuZGF0OlJGUF9HRlBfcGxhc21pZF9wYXJ0cy5mYScgLS1maWxlX25hbWVfbWFwcGluZ19kb20gJycgLS11c2VfZmlsZV9uYW1lc19hc19pZCAndHJ1ZScgLS1vdXRkaXJfc2ltdWxhdGlvbiAnb3V0ZGlyX3ppcCcgLS1vdXRkaXJfZ2IgJ291dGRpcl9nYicgLS1vdXRwdXRfc2ltdWxhdGlvbiAnb3V0cHV0X3ppcC56aXAnIC0tZW56eW1lICdhdXRvJyAtLXRvcG9sb2d5ICdjaXJjdWxhcicgJiYgY3AgJ291dHB1dF96aXAuemlwJyAnL3RtcC90bXBvM25wZnpkay9qb2Jfd29ya2luZ19kaXJlY3RvcnkvMDAwLzIxL291dHB1dHMvZGF0YXNldF8yN2EzNTBjZi1mN2YzLTQxZjMtOGI3ZC1hN2Y1YTM4NTdjZGEuZGF0JwogICAgICBgYGAKICAgICoqRXhpdCBDb2RlOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIDAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIEVycm9yOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzIgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzIgWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6IDEwMCV84paI4paI4paI4paI4paI4paI4paI4paI4paI4paIfCAyLzIgWzAwOjAwPDAwOjAwLCAgMi4zNWl0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgT3V0cHV0OioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIFNpbXVsYXRpbmcgYXNzZW1ibHkgcGxhbiBhc3NhbWJseS4uLgogICAgICB7J2NhbmNlbGxlZF9hc3NlbWJsaWVzJzogMCwgJ2Vycm9yZWRfYXNzZW1ibGllcyc6IDIsICd2YWxpZF9hc3NlbWJsaWVzJzogMH0KICAgICAgR2VuZXJhdGluZyBhc3NlbWJsaWVzIHJlcG9ydHMuLi4KCiAgICAgIGBgYAogICAgKipUcmFjZWJhY2s6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGBgYAogICAqKkpvYiBQYXJhbWV0ZXJzOioqCgogICAqICAgfCBKb2IgcGFyYW1ldGVyIHwgUGFyYW1ldGVyIHZhbHVlIHwKICAgICAgIHwgLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLSB8CiAgICAgICB8IGdlbmJhbmtcX2ZpbGVzIHwgYCB7InZhbHVlcyI6IFt7ImlkIjogNSwgInNyYyI6ICJoZGNhIn1dfSBgIHwKICAgICAgIHwgZG9tZXN0aWNhdGVkXF9pbnB1dCB8IGAgTm9uZSBgIHwKICAgICAgIHwgYXNzZW1ibHlcX3BsYW5cX25hbWUgfCBgICJMaWdhc2VDeWNsaW5nUmVhY3Rpb25Bc3NlbWJseSIgYCB8CiAgICAgICB8IHRvcG9sb2d5IHwgYCAiY2lyY3VsYXIiIGAgfAogICAgICAgfCBhZHYgfCBgIHsiZW56eW1lIjogImF1dG8iLCAidXNlX2ZpbGVfbmFtZXNfYXNfaWRzIjogdHJ1ZX0gYCB8CiAgICAgICB8IGNocm9tSW5mbyB8IGAgIi90bXAvdG1wbzNucGZ6ZGsvZ2FsYXh5LWRldi90b29sLWRhdGEvc2hhcmVkL3Vjc2MvY2hyb20vPy5sZW4iIGAgfAogICAgICAgfCBkYmtleSB8IGAgIj8iIGAgfAogICAgICAgfCBcX1xfaW5wdXRcX2V4dCB8IGAgImlucHV0IiBgIHwKCgoKICAgIDwvZGl2PjwvZGV0YWlscz4KCgoqIDxkZXRhaWxzIGNsYXNzPSJyY29ybmVycyBsaWdodC1ncmVlbiI+PHN1bW1hcnkgY2xhc3M9ImxpZ2h0LWdyZWVuIj4mIzk5ODk7IGNsb25pbmdfc2ltdWxhdGlvbiAoVGVzdCAjIDQpPC9zdW1tYXJ5PjxkaXYgY2xhc3M9InBhZGRlZCI+CgogICAgKipDb21tYW5kIExpbmU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgbWtkaXIgJ291dGRpcl96aXAnICYmIG1rZGlyICdvdXRkaXJfZ2InICYmIGNwICcvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzIvZS9iL2RhdGFzZXRfMmViY2U4M2YtMjNiZC00ZWQ5LWJmODEtODQ3MTljZTQ3ZjM2LmRhdCcgJ2Fzc2VtYmx5X2Nzdi5jc3YnICYmIHB5dGhvbiAnL2hvbWUvcmtoYWxlZC9nYWxheHl0b29scy90b29scy9jbG9uaW5nX3NpbXVsYXRpb24vY2xvbmluZ19zaW11bGF0aW9uLnB5JyAtLXBhcnRzX2ZpbGVzICcvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2IvYS85L2RhdGFzZXRfYmE5ZjNmZGEtZTY1YS00MzY3LTk4ODMtOTg4Y2YyYTU1YmM3LmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzUvNi80L2RhdGFzZXRfNTY0NzdkYmYtNGE5Zi00ZDg1LTg2MzktNDliYzA1YmZmN2I3LmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzcvNS9kL2RhdGFzZXRfNzVkODI0ODUtZTNjOC00MzExLTg5NTItNjU4ZDg1MjJmOGE1LmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2YvYS9mL2RhdGFzZXRfZmFmZjczZmUtMmVmOS00YzI1LTkxM2MtZGY1ZThiOTMzMDZhLmRhdCwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzgvNS85L2RhdGFzZXRfODU5ZGNmM2QtZTBmNy00NjY3LTljOGQtOWE5NTg3ZDkzNGZiLmRhdCcgLS1kb21lc3RpY2F0ZWRfc2VxICcnIC0tYXNzZW1ibHlfY3N2ICdhc3NlbWJseV9jc3YuY3N2JyAtLWFzc2VtYmx5X3BsYW5fbmFtZSAnQkFTSUNBc3NlbWJseScgLS1maWxlX25hbWVfbWFwcGluZyAnL3RtcC90bXBvM25wZnpkay9maWxlcy9iL2EvOS9kYXRhc2V0X2JhOWYzZmRhLWU2NWEtNDM2Ny05ODgzLTk4OGNmMmE1NWJjNy5kYXQ6R0ZQLmdiLC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvNS82LzQvZGF0YXNldF81NjQ3N2RiZi00YTlmLTRkODUtODYzOS00OWJjMDViZmY3YjcuZGF0OnAxNUFfa2FuLmdiLC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvNy81L2QvZGF0YXNldF83NWQ4MjQ4NS1lM2M4LTQzMTEtODk1Mi02NThkODUyMmY4YTUuZGF0OnByb21vdGVyLmdiLC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvZi9hL2YvZGF0YXNldF9mYWZmNzNmZS0yZWY5LTRjMjUtOTEzYy1kZjVlOGI5MzMwNmEuZGF0OlJGUC5nYiwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzgvNS85L2RhdGFzZXRfODU5ZGNmM2QtZTBmNy00NjY3LTljOGQtOWE5NTg3ZDkzNGZiLmRhdDpvbGlnb3MuZmEnIC0tZmlsZV9uYW1lX21hcHBpbmdfZG9tICcnIC0tdXNlX2ZpbGVfbmFtZXNfYXNfaWQgJ3RydWUnIC0tb3V0ZGlyX3NpbXVsYXRpb24gJ291dGRpcl96aXAnIC0tb3V0ZGlyX2diICdvdXRkaXJfZ2InIC0tb3V0cHV0X3NpbXVsYXRpb24gJ291dHB1dF96aXAuemlwJyAtLWVuenltZSAnYXV0bycgLS10b3BvbG9neSAnY2lyY3VsYXInICYmIGNwICdvdXRwdXRfemlwLnppcCcgJy90bXAvdG1wbzNucGZ6ZGsvam9iX3dvcmtpbmdfZGlyZWN0b3J5LzAwMC8yOC9vdXRwdXRzL2RhdGFzZXRfOWExOTcwYWQtMzU0Zi00ZGFiLTgwNjUtMmUzN2NkMWQxOTZiLmRhdCcKICAgICAgYGBgCiAgICAqKkV4aXQgQ29kZToqKgoKICAgICogYGBgY29uc29sZQogICAgICAwCiAgICAgIGBgYAogICAgKipTdGFuZGFyZCBFcnJvcjoqKgoKICAgICogYGBgY29uc29sZQogICAgICAKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC8xMCBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICBhc3NlbWJseTogICAwJXwgICAgICAgICAgfCAwLzggWzAwOjAwPD8sID9pdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6ICA3NSV84paI4paI4paI4paI4paI4paI4paI4paMICB8IDYvOCBbMDA6MDA8MDA6MDAsIDQ4LjQ0aXQvcywgbm93PU5vbmVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgIGBgYAogICAgKipTdGFuZGFyZCBPdXRwdXQ6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgU2ltdWxhdGluZyBhc3NlbWJseSBwbGFuIGFzc2FtYmx5Li4uCiAgICAgIHsnY2FuY2VsbGVkX2Fzc2VtYmxpZXMnOiAyLCAnZXJyb3JlZF9hc3NlbWJsaWVzJzogOCwgJ3ZhbGlkX2Fzc2VtYmxpZXMnOiAwfQogICAgICBHZW5lcmF0aW5nIGFzc2VtYmxpZXMgcmVwb3J0cy4uLgoKICAgICAgYGBgCiAgICAqKlRyYWNlYmFjazoqKgoKICAgICogYGBgY29uc29sZQogICAgICAKICAgICAgYGBgCiAgICoqSm9iIFBhcmFtZXRlcnM6KioKCiAgICogICB8IEpvYiBwYXJhbWV0ZXIgfCBQYXJhbWV0ZXIgdmFsdWUgfAogICAgICAgfCAtLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tIHwKICAgICAgIHwgZ2VuYmFua1xfZmlsZXMgfCBgIHsidmFsdWVzIjogW3siaWQiOiA3LCAic3JjIjogImhkY2EifV19IGAgfAogICAgICAgfCBkb21lc3RpY2F0ZWRcX2lucHV0IHwgYCBOb25lIGAgfAogICAgICAgfCBhc3NlbWJseVxfcGxhblxfbmFtZSB8IGAgIkJBU0lDQXNzZW1ibHkiIGAgfAogICAgICAgfCB0b3BvbG9neSB8IGAgImNpcmN1bGFyIiBgIHwKICAgICAgIHwgYWR2IHwgYCB7ImVuenltZSI6ICJhdXRvIiwgInVzZV9maWxlX25hbWVzX2FzX2lkcyI6IHRydWV9IGAgfAogICAgICAgfCBjaHJvbUluZm8gfCBgICIvdG1wL3RtcG8zbnBmemRrL2dhbGF4eS1kZXYvdG9vbC1kYXRhL3NoYXJlZC91Y3NjL2Nocm9tLz8ubGVuIiBgIHwKICAgICAgIHwgZGJrZXkgfCBgICI/IiBgIHwKICAgICAgIHwgXF9cX2lucHV0XF9leHQgfCBgICJpbnB1dCIgYCB8CgoKCiAgICA8L2Rpdj48L2RldGFpbHM+CgoKKiA8ZGV0YWlscyBjbGFzcz0icmNvcm5lcnMgbGlnaHQtZ3JlZW4iPjxzdW1tYXJ5IGNsYXNzPSJsaWdodC1ncmVlbiI+JiM5OTg5OyBjbG9uaW5nX3NpbXVsYXRpb24gKFRlc3QgIyA1KTwvc3VtbWFyeT48ZGl2IGNsYXNzPSJwYWRkZWQiPgoKICAgICoqQ29tbWFuZCBMaW5lOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIG1rZGlyICdvdXRkaXJfemlwJyAmJiBta2RpciAnb3V0ZGlyX2diJyAmJiBjcCAnL3RtcC90bXBvM25wZnpkay9maWxlcy8xL2QvNC9kYXRhc2V0XzFkNDg5NzQ2LTYxOGQtNDNmOS1hYzgwLTM3N2I0ZGQzNGIyNC5kYXQnICdhc3NlbWJseV9jc3YuY3N2JyAmJiBweXRob24gJy9ob21lL3JraGFsZWQvZ2FsYXh5dG9vbHMvdG9vbHMvY2xvbmluZ19zaW11bGF0aW9uL2Nsb25pbmdfc2ltdWxhdGlvbi5weScgLS1wYXJ0c19maWxlcyAnL3RtcC90bXBvM25wZnpkay9maWxlcy84LzkvNy9kYXRhc2V0Xzg5N2E2NTliLWRlZDYtNGYxZC1hZTY2LTJhMWNlZjE5ZmUyMC5kYXQsL3RtcC90bXBvM25wZnpkay9maWxlcy83LzQvYy9kYXRhc2V0Xzc0Y2Q5NTEyLWY2ZmQtNDFkYi04YjI1LTZkOWVkZDEzZmIzNS5kYXQsL3RtcC90bXBvM25wZnpkay9maWxlcy8yLzYvNC9kYXRhc2V0XzI2NGJhZjNiLWQyMDEtNDQ5ZC05M2JmLTE0MDhiMDRlM2NjOC5kYXQsL3RtcC90bXBvM25wZnpkay9maWxlcy9iLzgvNy9kYXRhc2V0X2I4NzdjNDkyLWY1MzItNGY0Zi1hOTVkLThkZWEwNDk3YzdmZi5kYXQsL3RtcC90bXBvM25wZnpkay9maWxlcy9mL2EvMS9kYXRhc2V0X2ZhMTRkNzU1LTZmOTgtNGU5NC05ZjI0LWNmYmNhMjcyNmUzMS5kYXQnIC0tZG9tZXN0aWNhdGVkX3NlcSAnJyAtLWFzc2VtYmx5X2NzdiAnYXNzZW1ibHlfY3N2LmNzdicgLS1hc3NlbWJseV9wbGFuX25hbWUgJ0Jpb0JyaWNrU3RhbmRhcmRBc3NlbWJseScgLS1maWxlX25hbWVfbWFwcGluZyAnL3RtcC90bXBvM25wZnpkay9maWxlcy84LzkvNy9kYXRhc2V0Xzg5N2E2NTliLWRlZDYtNGYxZC1hZTY2LTJhMWNlZjE5ZmUyMC5kYXQ6QkJhX0UwMDQwX0dGUC5nYiwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzcvNC9jL2RhdGFzZXRfNzRjZDk1MTItZjZmZC00MWRiLThiMjUtNmQ5ZWRkMTNmYjM1LmRhdDpCQmFfSjIzMTE5X3Byb20uZ2IsL3RtcC90bXBvM25wZnpkay9maWxlcy8yLzYvNC9kYXRhc2V0XzI2NGJhZjNiLWQyMDEtNDQ5ZC05M2JmLTE0MDhiMDRlM2NjOC5kYXQ6QkJhX0oyMzExOV9wcm9tX2ZsYXdlZC5nYiwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2IvOC83L2RhdGFzZXRfYjg3N2M0OTItZjUzMi00ZjRmLWE5NWQtOGRlYTA0OTdjN2ZmLmRhdDpCQmFfSjYxMDQ4X3Rlcm0uZ2IsL3RtcC90bXBvM25wZnpkay9maWxlcy9mL2EvMS9kYXRhc2V0X2ZhMTRkNzU1LTZmOTgtNGU5NC05ZjI0LWNmYmNhMjcyNmUzMS5kYXQ6QkJhX0s2MTEwOTRfYmFyLmdiJyAtLWZpbGVfbmFtZV9tYXBwaW5nX2RvbSAnJyAtLXVzZV9maWxlX25hbWVzX2FzX2lkICd0cnVlJyAtLW91dGRpcl9zaW11bGF0aW9uICdvdXRkaXJfemlwJyAtLW91dGRpcl9nYiAnb3V0ZGlyX2diJyAtLW91dHB1dF9zaW11bGF0aW9uICdvdXRwdXRfemlwLnppcCcgLS1lbnp5bWUgJ2F1dG8nIC0tdG9wb2xvZ3kgJ2NpcmN1bGFyJyAmJiBjcCAnb3V0cHV0X3ppcC56aXAnICcvdG1wL3RtcG8zbnBmemRrL2pvYl93b3JraW5nX2RpcmVjdG9yeS8wMDAvMzUvb3V0cHV0cy9kYXRhc2V0X2VmMjk0NzUyLWIxNTQtNDRjMy04MjhjLTcxNjUyMDBkZjQ0ZC5kYXQnCiAgICAgIGBgYAogICAgKipFeGl0IENvZGU6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgMAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgRXJyb3I6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvMyBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgIGFzc2VtYmx5OiAgIDAlfCAgICAgICAgICB8IDAvMyBbMDA6MDA8PywgP2l0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogIDY3JXzilojilojilojilojilojilojilosgICB8IDIvMyBbMDA6MDE8MDA6MDAsICAxLjkyaXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAxMDAlfOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiHwgMy8zIFswMDowMTwwMDowMCwgIDEuNTZpdC9zLCBub3c9Tm9uZV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgYGBgCiAgICAqKlN0YW5kYXJkIE91dHB1dDoqKgoKICAgICogYGBgY29uc29sZQogICAgICBTaW11bGF0aW5nIGFzc2VtYmx5IHBsYW4gYXNzYW1ibHkuLi4KICAgICAgeydjYW5jZWxsZWRfYXNzZW1ibGllcyc6IDAsICdlcnJvcmVkX2Fzc2VtYmxpZXMnOiAwLCAndmFsaWRfYXNzZW1ibGllcyc6IDN9CiAgICAgIEdlbmVyYXRpbmcgYXNzZW1ibGllcyByZXBvcnRzLi4uCgogICAgICBgYGAKICAgICoqVHJhY2ViYWNrOioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIAogICAgICBgYGAKICAgKipKb2IgUGFyYW1ldGVyczoqKgoKICAgKiAgIHwgSm9iIHBhcmFtZXRlciB8IFBhcmFtZXRlciB2YWx1ZSB8CiAgICAgICB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfAogICAgICAgfCBnZW5iYW5rXF9maWxlcyB8IGAgeyJ2YWx1ZXMiOiBbeyJpZCI6IDksICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGRvbWVzdGljYXRlZFxfaW5wdXQgfCBgIE5vbmUgYCB8CiAgICAgICB8IGFzc2VtYmx5XF9wbGFuXF9uYW1lIHwgYCAiQmlvQnJpY2tTdGFuZGFyZEFzc2VtYmx5IiBgIHwKICAgICAgIHwgdG9wb2xvZ3kgfCBgICJjaXJjdWxhciIgYCB8CiAgICAgICB8IGFkdiB8IGAgeyJlbnp5bWUiOiAiYXV0byIsICJ1c2VfZmlsZV9uYW1lc19hc19pZHMiOiB0cnVlfSBgIHwKICAgICAgIHwgY2hyb21JbmZvIHwgYCAiL3RtcC90bXBvM25wZnpkay9nYWxheHktZGV2L3Rvb2wtZGF0YS9zaGFyZWQvdWNzYy9jaHJvbS8/LmxlbiIgYCB8CiAgICAgICB8IGRia2V5IHwgYCAiPyIgYCB8CiAgICAgICB8IFxfXF9pbnB1dFxfZXh0IHwgYCAiaW5wdXQiIGAgfAoKCgogICAgPC9kaXY+PC9kZXRhaWxzPgoKCiogPGRldGFpbHMgY2xhc3M9InJjb3JuZXJzIGxpZ2h0LWdyZWVuIj48c3VtbWFyeSBjbGFzcz0ibGlnaHQtZ3JlZW4iPiYjOTk4OTsgY2xvbmluZ19zaW11bGF0aW9uIChUZXN0ICMgNik8L3N1bW1hcnk+PGRpdiBjbGFzcz0icGFkZGVkIj4KCiAgICAqKkNvbW1hbmQgTGluZToqKgoKICAgICogYGBgY29uc29sZQogICAgICBta2RpciAnb3V0ZGlyX3ppcCcgJiYgbWtkaXIgJ291dGRpcl9nYicgJiYgY3AgJy90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvOC9jL2MvZGF0YXNldF84Y2NiNTVhNC03MzNmLTQ2NzEtYTEyYy1jODljZWU1YTY5NGIuZGF0JyAnYXNzZW1ibHlfY3N2LmNzdicgJiYgcHl0aG9uICcvaG9tZS9ya2hhbGVkL2dhbGF4eXRvb2xzL3Rvb2xzL2Nsb25pbmdfc2ltdWxhdGlvbi9jbG9uaW5nX3NpbXVsYXRpb24ucHknIC0tcGFydHNfZmlsZXMgJy90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvNS84LzYvZGF0YXNldF81ODZmYzcxNC0xN2M3LTQzNTYtYTgxMi1hMjU1OTNkMGI5NDEuZGF0LC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvZi83LzUvZGF0YXNldF9mNzVkM2NiNC04ZDExLTRkYTMtOTlhZS01NmE5NmFkZWI0NWMuZGF0LC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvMC9mLzIvZGF0YXNldF8wZjJjMDNkNy04NGU5LTQ5MDgtOGNjMi1jZTk0YjQ1NmFkMWQuZGF0LC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvNi8xLzYvZGF0YXNldF82MTZmNGRiMy0xOTY3LTQ3YzktYjg2OS1iMDJiY2ViYWQ3YzAuZGF0LC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvNS9iLzQvZGF0YXNldF81YjRkOTkzMS0yZjk0LTQ2OWYtOGZiYi1kZGRkMWI0ZjIzZmUuZGF0LC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvMS9jLzkvZGF0YXNldF8xYzlmZWJlOC1iMWZmLTRmN2UtYTM5NS1mYmQ2NzFmZGJmMGEuZGF0LC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvMS81LzYvZGF0YXNldF8xNTZmZmViZS0xZDYzLTQ0MmEtODIyZS05NGMyNjYxMmFlYmIuZGF0JyAtLWRvbWVzdGljYXRlZF9zZXEgJy90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvYS8zLzIvZGF0YXNldF9hMzJkMDE5YS1lZjEwLTQyYjgtOTJkMy1iMWE4OTE0OTExNGUuZGF0LC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvMy80L2MvZGF0YXNldF8zNGNhM2I5YS02ZDhlLTQ3OTAtOGUwNC05NDZmNzc3YWFhMmYuZGF0LC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvNy9kLzQvZGF0YXNldF83ZDQzNGZkNi0zZGE2LTRhMzUtYTkzNS02MjYyYzJiZTNiOTUuZGF0LC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvNS8wL2EvZGF0YXNldF81MGEzMDRhOC1mZjk0LTRlZmMtOGQzYy05ZGQ1NzE0ZDBhYjkuZGF0LC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvZC80LzcvZGF0YXNldF9kNDc2YjE3MS05ZWIzLTRmY2ItOWUxNi0xZDQ2MzFiMjExYWUuZGF0JyAtLWFzc2VtYmx5X2NzdiAnYXNzZW1ibHlfY3N2LmNzdicgLS1hc3NlbWJseV9wbGFuX25hbWUgJ1R5cGUyc1Jlc3RyaWN0aW9uQXNzZW1ibHknIC0tZmlsZV9uYW1lX21hcHBpbmcgJy90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvNS84LzYvZGF0YXNldF81ODZmYzcxNC0xN2M3LTQzNTYtYTgxMi1hMjU1OTNkMGI5NDEuZGF0OnBhcnRfQS5nYiwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2YvNy81L2RhdGFzZXRfZjc1ZDNjYjQtOGQxMS00ZGEzLTk5YWUtNTZhOTZhZGViNDVjLmRhdDpwYXJ0X0IuZ2IsL3RtcC90bXBvM25wZnpkay9maWxlcy8wL2YvMi9kYXRhc2V0XzBmMmMwM2Q3LTg0ZTktNDkwOC04Y2MyLWNlOTRiNDU2YWQxZC5kYXQ6cGFydF9DLmdiLC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvNi8xLzYvZGF0YXNldF82MTZmNGRiMy0xOTY3LTQ3YzktYjg2OS1iMDJiY2ViYWQ3YzAuZGF0OnBhcnRfRC5nYiwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzUvYi80L2RhdGFzZXRfNWI0ZDk5MzEtMmY5NC00NjlmLThmYmItZGRkZDFiNGYyM2ZlLmRhdDpwYXJ0X0UuZ2IsL3RtcC90bXBvM25wZnpkay9maWxlcy8xL2MvOS9kYXRhc2V0XzFjOWZlYmU4LWIxZmYtNGY3ZS1hMzk1LWZiZDY3MWZkYmYwYS5kYXQ6cGFydF9GLmdiLC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvMS81LzYvZGF0YXNldF8xNTZmZmViZS0xZDYzLTQ0MmEtODIyZS05NGMyNjYxMmFlYmIuZGF0OnBhcnRfRy5nYicgLS1maWxlX25hbWVfbWFwcGluZ19kb20gJy90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvYS8zLzIvZGF0YXNldF9hMzJkMDE5YS1lZjEwLTQyYjgtOTJkMy1iMWE4OTE0OTExNGUuZGF0OnBhcnRfSC5nYiwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzLzMvNC9jL2RhdGFzZXRfMzRjYTNiOWEtNmQ4ZS00NzkwLThlMDQtOTQ2Zjc3N2FhYTJmLmRhdDpwYXJ0X0kuZ2IsL3RtcC90bXBvM25wZnpkay9maWxlcy83L2QvNC9kYXRhc2V0XzdkNDM0ZmQ2LTNkYTYtNGEzNS1hOTM1LTYyNjJjMmJlM2I5NS5kYXQ6cGFydF9KLmdiLC90bXAvdG1wbzNucGZ6ZGsvZmlsZXMvNS8wL2EvZGF0YXNldF81MGEzMDRhOC1mZjk0LTRlZmMtOGQzYy05ZGQ1NzE0ZDBhYjkuZGF0OnBhcnRfSy5nYiwvdG1wL3RtcG8zbnBmemRrL2ZpbGVzL2QvNC83L2RhdGFzZXRfZDQ3NmIxNzEtOWViMy00ZmNiLTllMTYtMWQ0NjMxYjIxMWFlLmRhdDpwYXJ0X0wuZ2InIC0tdXNlX2ZpbGVfbmFtZXNfYXNfaWQgJ3RydWUnIC0tb3V0ZGlyX3NpbXVsYXRpb24gJ291dGRpcl96aXAnIC0tb3V0ZGlyX2diICdvdXRkaXJfZ2InIC0tb3V0cHV0X3NpbXVsYXRpb24gJ291dHB1dF96aXAuemlwJyAtLWVuenltZSAnYXV0bycgLS10b3BvbG9neSAnY2lyY3VsYXInICYmIGNwICdvdXRwdXRfemlwLnppcCcgJy90bXAvdG1wbzNucGZ6ZGsvam9iX3dvcmtpbmdfZGlyZWN0b3J5LzAwMC80OS9vdXRwdXRzL2RhdGFzZXRfMjZmMDlkNTQtNjczMy00YjRmLTkxMTAtNThiNzQyMmY2NTg0LmRhdCcKICAgICAgYGBgCiAgICAqKkV4aXQgQ29kZToqKgoKICAgICogYGBgY29uc29sZQogICAgICAwCiAgICAgIGBgYAogICAgKipTdGFuZGFyZCBFcnJvcjoqKgoKICAgICogYGBgY29uc29sZQogICAgICAKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC80IFswMDowMDw/LCA/aXQvcywgbm93PU5vbmVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgYXNzZW1ibHk6ICAgMCV8ICAgICAgICAgIHwgMC80IFswMDowMDw/LCA/aXQvcywgbm93PU5vbmVdCiAgICAgIGFzc2VtYmx5OiAgNTAlfOKWiOKWiOKWiOKWiOKWiCAgICAgfCAyLzQgWzAwOjAwPDAwOjAwLCAgMi40MWl0L3MsIG5vdz1Ob25lXQogICAgICBhc3NlbWJseTogIDc1JXzilojilojilojilojilojilojilojilowgIHwgMy80IFswMDowMTwwMDowMCwgIDIuMjBpdC9zLCBub3c9Tm9uZV0KICAgICAgYXNzZW1ibHk6IDEwMCV84paI4paI4paI4paI4paI4paI4paI4paI4paI4paIfCA0LzQgWzAwOjAyPDAwOjAwLCAgMS44MGl0L3MsIG5vdz1Ob25lXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICBgYGAKICAgICoqU3RhbmRhcmQgT3V0cHV0OioqCgogICAgKiBgYGBjb25zb2xlCiAgICAgIFNpbXVsYXRpbmcgYXNzZW1ibHkgcGxhbiBhc3NhbWJseS4uLgogICAgICB7J2NhbmNlbGxlZF9hc3NlbWJsaWVzJzogMCwgJ2Vycm9yZWRfYXNzZW1ibGllcyc6IDAsICd2YWxpZF9hc3NlbWJsaWVzJzogNH0KICAgICAgR2VuZXJhdGluZyBhc3NlbWJsaWVzIHJlcG9ydHMuLi4KCiAgICAgIGBgYAogICAgKipUcmFjZWJhY2s6KioKCiAgICAqIGBgYGNvbnNvbGUKICAgICAgCiAgICAgIGBgYAogICAqKkpvYiBQYXJhbWV0ZXJzOioqCgogICAqICAgfCBKb2IgcGFyYW1ldGVyIHwgUGFyYW1ldGVyIHZhbHVlIHwKICAgICAgIHwgLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLSB8CiAgICAgICB8IGdlbmJhbmtcX2ZpbGVzIHwgYCB7InZhbHVlcyI6IFt7ImlkIjogMTIsICJzcmMiOiAiaGRjYSJ9XX0gYCB8CiAgICAgICB8IGRvbWVzdGljYXRlZFxfaW5wdXQgfCBgIHsidmFsdWVzIjogW3siaWQiOiAxMSwgInNyYyI6ICJoZGNhIn1dfSBgIHwKICAgICAgIHwgYXNzZW1ibHlcX3BsYW5cX25hbWUgfCBgICJUeXBlMnNSZXN0cmljdGlvbkFzc2VtYmx5IiBgIHwKICAgICAgIHwgdG9wb2xvZ3kgfCBgICJjaXJjdWxhciIgYCB8CiAgICAgICB8IGFkdiB8IGAgeyJlbnp5bWUiOiAiYXV0byIsICJ1c2VfZmlsZV9uYW1lc19hc19pZHMiOiB0cnVlfSBgIHwKICAgICAgIHwgY2hyb21JbmZvIHwgYCAiL3RtcC90bXBvM25wZnpkay9nYWxheHktZGV2L3Rvb2wtZGF0YS9zaGFyZWQvdWNzYy9jaHJvbS8/LmxlbiIgYCB8CiAgICAgICB8IGRia2V5IHwgYCAiPyIgYCB8CiAgICAgICB8IFxfXF9pbnB1dFxfZXh0IHwgYCAiaW5wdXQiIGAgfAoKCgogICAgPC9kaXY+PC9kZXRhaWxzPgoKCjwvZGV0YWlscz4K'));