@liv-in-sky
Danke nochmal für deine Hilfe
Hier wie besprochen der Export und die CSS-Klassen
Blockly Export
<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="X{YCwT6)UO~XY`Vc}2I4">anlegen_in</variable>
<variable id="Sj=PG`7sdz;!7%*c;rMl">Tabelle - Name</variable>
<variable id="0q#2a)[a+^d21Zhdi^sp">myList</variable>
<variable id="2GY!!q}efSWeJut|}*g?">tabelleClass</variable>
<variable id="$RIK(0f);.l=!pQfVAU#">Tabelle - Lampen</variable>
<variable type="timeout" id="start">start</variable>
<variable id="vFTZ1]BURtyw_?,7vv7]">Tabelle - Wert</variable>
<variable id="zc}]z)HcoRF!Stu%L,1O">tabelleClassSpalte1</variable>
<variable id="QZuXR_Vj:|w~;Y^wh/80">dpVIS</variable>
<variable id="uY@Vk|3N|Db%n1]s5r65">schaltbar</variable>
<variable id="$SQ+1P}hh0i}dM)i!l8Y">tabelleClassZeile1</variable>
<variable id="0$3)d1XO~32nM)5=R_{E">tabelleClassZeile2</variable>
<variable id="@XCmXlbJ|}uQfG*Yj}BT">tabelleClassIcon</variable>
<variable id=";]3e-T$pq}QNAxDl__@;">Liste</variable>
<variable id="[+@foafRz`m~/)FhPq0`">symbolSwitchOFF</variable>
<variable id="xEf:=c;06LZR_EPM?]P@">counter</variable>
<variable id="f`-]]z,}lIr/=i8^XP#h">symbolSwitchON</variable>
<variable id="N8]TG{K`UGkh#8BWL|E)">symbolBreite</variable>
<variable id="wan~:25GYo--e@M0rsmr">i</variable>
<variable id="u,X-cS9u7+2)_f!kviiD">symbolHoehe</variable>
</variables>
<block type="procedures_defcustomnoreturn" id="D:0E=~0D8*EFnn8f|sd." x="37" y="-487">
<mutation statements="false"></mutation>
<field name="NAME">Datenpunkte_erstellen</field>
<field name="SCRIPT">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjIgKDIwIE9jdG9iZXIgMjAyMCkKICogRXhhbXBsZTogICAgICAgICAgICAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWMtTS9pb2Jyb2tlci5jcmVhdGVVc2VyU3RhdGVzI2JlaXNwaWVsCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiAnMF91c2VyZGF0YS4wJyBvciAnamF2YXNjcmlwdC54Jy4KICogQHBhcmFtIHtib29sZWFufSBmb3JjZSAgICAgICAgIEZvcmNlIHN0YXRlIGNyZWF0aW9uIChvdmVyd3JpdGUpLCBpZiBzdGF0ZSBpcyBleGlzdGluZy4KICogQHBhcmFtIHthcnJheX0gc3RhdGVzVG9DcmVhdGUgIFN0YXRlKHMpIHRvIGNyZWF0ZS4gc2luZ2xlIGFycmF5IG9yIGFycmF5IG9mIGFycmF5cwogKiBAcGFyYW0ge29iamVjdH0gW2NhbGxiYWNrXSAgICAgT3B0aW9uYWw6IGEgY2FsbGJhY2sgZnVuY3Rpb24gLS0gVGhpcyBwcm92aWRlZCBmdW5jdGlvbiB3aWxsIGJlIGV4ZWN1dGVkIGFmdGVyIGFsbCBzdGF0ZXMgYXJlIGNyZWF0ZWQuCiAqLwpmdW5jdGlvbiBjcmVhdGVVc2VyU3RhdGVzKHdoZXJlLCBmb3JjZSwgc3RhdGVzVG9DcmVhdGUsIGNhbGxiYWNrID0gdW5kZWZpbmVkKSB7CiAKICAgIGNvbnN0IFdBUk4gPSBmYWxzZTsgLy8gT25seSBmb3IgMF91c2VyZGF0YS4wOiBUaHJvd3Mgd2FybmluZyBpbiBsb2csIGlmIHN0YXRlIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIGZvcmNlPWZhbHNlLiBEZWZhdWx0IGlzIGZhbHNlLCBzbyBubyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgZXhpc3RzLgogICAgY29uc3QgTE9HX0RFQlVHID0gZmFsc2U7IC8vIFRvIGRlYnVnIHRoaXMgZnVuY3Rpb24sIHNldCB0byB0cnVlCiAgICAvLyBQZXIgaXNzdWUgIzQ3NCAoaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCksIHRoZSB1c2VkIGZ1bmN0aW9uIHNldE9iamVjdCgpIGV4ZWN1dGVzIHRoZSBjYWxsYmFjayAKICAgIC8vIGJlZm9yZSB0aGUgc3RhdGUgaXMgYWN0dWFsIGNyZWF0ZWQuIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlciBhcyBhIHdvcmthcm91bmQuCiAgICBjb25zdCBERUxBWSA9IDUwOyAvLyBEZWxheSBpbiBtaWxsaXNlY29uZHMgKG1zKS4gSW5jcmVhc2UgdGhpcyB0byAxMDAsIGlmIGl0IGlzIG5vdCB3b3JraW5nLgoKICAgIC8vIFZhbGlkYXRlICJ3aGVyZSIKICAgIGlmICh3aGVyZS5lbmRzV2l0aCgnLicpKSB3aGVyZSA9IHdoZXJlLnNsaWNlKDAsIC0xKTsgLy8gUmVtb3ZlIHRyYWlsaW5nIGRvdAogICAgaWYgKCAod2hlcmUubWF0Y2goL14oKGphdmFzY3JpcHRcLihbMS05XVswLTldfFswLTldKSkkfDBfdXNlcmRhdGFcLjAkKS8pID09IG51bGwpICkgewogICAgICAgIGxvZygnVGhpcyBzY3JpcHQgZG9lcyBub3Qgc3VwcG9ydCB0byBjcmVhdGUgc3RhdGVzIHVuZGVyIFsnICsgd2hlcmUgKyAnXScsICdlcnJvcicpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBQcmVwYXJlICJzdGF0ZXNUb0NyZWF0ZSIgc2luY2Ugd2UgYWxzbyBhbGxvdyBhIHNpbmdsZSBzdGF0ZSB0byBjcmVhdGUKICAgIGlmKCFBcnJheS5pc0FycmF5KHN0YXRlc1RvQ3JlYXRlWzBdKSkgc3RhdGVzVG9DcmVhdGUgPSBbc3RhdGVzVG9DcmVhdGVdOyAvLyB3cmFwIGludG8gYXJyYXksIGlmIGp1c3Qgb25lIGFycmF5IGFuZCBub3QgaW5zaWRlIGFuIGFycmF5CgogICAgLy8gQWRkICJ3aGVyZSIgdG8gU1RBVEVTX1RPX0NSRUFURQogICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdGF0ZXNUb0NyZWF0ZS5sZW5ndGg7IGkrKykgewogICAgICAgIGxldCBscFBhdGggPSBzdGF0ZXNUb0NyZWF0ZVtpXVswXS5yZXBsYWNlKC9cLipcLi9nLCAnLicpOyAvLyByZXBsYWNlIGFsbCBtdWx0aXBsZSBkb3RzIGxpa2UgJy4uJywgJy4uLicgd2l0aCBhIHNpbmdsZSAnLicKICAgICAgICBscFBhdGggPSBscFBhdGgucmVwbGFjZSgvXigoamF2YXNjcmlwdFwuKFsxLTldWzAtOV18WzAtOV0pXC4pfDBfdXNlcmRhdGFcLjBcLikvLCcnKSAvLyByZW1vdmUgYW55IGphdmFzY3JpcHQueC4gLyAwX3VzZXJkYXRhLjAuIGZyb20gYmVnaW5uaW5nCiAgICAgICAgbHBQYXRoID0gd2hlcmUgKyAnLicgKyBscFBhdGg7IC8vIGFkZCB3aGVyZSB0byBiZWdpbm5pbmcgb2Ygc3RyaW5nCiAgICAgICAgc3RhdGVzVG9DcmVhdGVbaV1bMF0gPSBscFBhdGg7CiAgICB9CgogICAgaWYgKHdoZXJlICE9ICcwX3VzZXJkYXRhLjAnKSB7CiAgICAgICAgLy8gQ3JlYXRlIFN0YXRlcyB1bmRlciBqYXZhc2NyaXB0LngKICAgICAgICBsZXQgbnVtU3RhdGVzID0gc3RhdGVzVG9DcmVhdGUubGVuZ3RoOwogICAgICAgIHN0YXRlc1RvQ3JlYXRlLmZvckVhY2goZnVuY3Rpb24obG9vcFBhcmFtKSB7CiAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBOb3cgd2UgYXJlIGNyZWF0aW5nIG5ldyBzdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddJyk7CiAgICAgICAgICAgIGxldCBsb29wSW5pdCA9IChsb29wUGFyYW1bMV1bJ2RlZiddID09IHVuZGVmaW5lZCkgPyBudWxsIDogbG9vcFBhcmFtWzFdWydkZWYnXTsgLy8gbWltaWMgc2FtZSBiZWhhdmlvciBhcyBjcmVhdGVTdGF0ZSBpZiBubyBpbml0IHZhbHVlIGlzIHByb3ZpZGVkCiAgICAgICAgICAgIGNyZWF0ZVN0YXRlKGxvb3BQYXJhbVswXSwgbG9vcEluaXQsIGZvcmNlLCBsb29wUGFyYW1bMV0sIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEZ1bmN0aW9uIHRvIGNhbGxiYWNrIHBhcmFtZXRlciB3YXMgcHJvdmlkZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICB9IGVsc2UgewogICAgICAgIC8vIENyZWF0ZSBTdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wCiAgICAgICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsKICAgICAgICBsZXQgY291bnRlciA9IC0xOwogICAgICAgIHN0YXRlc1RvQ3JlYXRlLmZvckVhY2goZnVuY3Rpb24obG9vcFBhcmFtKSB7CiAgICAgICAgICAgIGNvdW50ZXIgKz0gMTsKICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nICgnW0RlYnVnXSBDdXJyZW50bHkgcHJvY2Vzc2luZyBmb2xsb3dpbmcgc3RhdGU6IFsnICsgbG9vcFBhcmFtWzBdICsgJ10nKTsKICAgICAgICAgICAgaWYoICgkKGxvb3BQYXJhbVswXSkubGVuZ3RoID4gMCkgJiYgKGV4aXN0c1N0YXRlKGxvb3BQYXJhbVswXSkpICkgeyAvLyBXb3JrYXJvdW5kIGR1ZSB0byBodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc4CiAgICAgICAgICAgICAgICAvLyBTdGF0ZSBpcyBleGlzdGluZy4KICAgICAgICAgICAgICAgIGlmIChXQVJOICYmICFmb3JjZSkgbG9nKCdTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIHdpbGwgbm8gbG9uZ2VyIGJlIGNyZWF0ZWQuJywgJ3dhcm4nKTsKICAgICAgICAgICAgICAgIGlmICghV0FSTiAmJiBMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcuIE9wdGlvbiBmb3JjZSAoPW92ZXJ3cml0ZSkgaXMgc2V0IHRvIFsnICsgZm9yY2UgKyAnXS4nKTsKICAgICAgICAgICAgICAgIGlmKCFmb3JjZSkgewogICAgICAgICAgICAgICAgICAgIC8vIFN0YXRlIGV4aXN0cyBhbmQgc2hhbGwgbm90IGJlIG92ZXJ3cml0dGVuIHNpbmNlIGZvcmNlPWZhbHNlCiAgICAgICAgICAgICAgICAgICAgLy8gU28sIHdlIGRvIG5vdCBwcm9jZWVkLgogICAgICAgICAgICAgICAgICAgIG51bVN0YXRlcy0tOwogICAgICAgICAgICAgICAgICAgIGlmIChudW1TdGF0ZXMgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCEnKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFuIG9wdGlvbmFsIGNhbGxiYWNrIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCwgd2hpY2ggd2UgYXJlIGdvaW5nIHRvIGV4ZWN1dGUgbm93LicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7ICAvLyBubyBjYWxsYmFjaywgcmV0dXJuIGFueXdheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBnbyBvdXQgYW5kIGNvbnRpbnVlIHdpdGggbmV4dCBlbGVtZW50IGluIGxvb3AuCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTg0NTI5MjAvY29udGludWUtaW4tY3Vyc29yLWZvcmVhY2gKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IC8vIGlmKCFmb3JjZSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gU3RhdGUgaXMgbm90IGV4aXN0aW5nIG9yIGZvcmNlID0gdHJ1ZSwgc28gd2UgYXJlIGNvbnRpbnVpbmcgdG8gY3JlYXRlIHRoZSBzdGF0ZSB0aHJvdWdoIHNldE9iamVjdCgpLgogICAgICAgICAgICBsZXQgb2JqID0ge307CiAgICAgICAgICAgIG9iai50eXBlID0gJ3N0YXRlJzsKICAgICAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgICAgICBvYmouY29tbW9uID0gbG9vcFBhcmFtWzFdOwogICAgICAgICAgICBzZXRPYmplY3QobG9vcFBhcmFtWzBdLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgICAgIGlmIChlcnIpIHsKICAgICAgICAgICAgICAgICAgICBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3QgZm9yIHN0YXRlIFsnICsgbG9vcFBhcmFtWzBdICsgJ106ICcgKyBlcnIpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gTm93IHdlIGFyZSBjcmVhdGluZyBuZXcgc3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXScpCiAgICAgICAgICAgICAgICAgICAgbGV0IGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICcnOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGluaXQgPSBsb29wUGFyYW1bMV0uZGVmOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBzZXRTdGF0ZShsb29wUGFyYW1bMF0sIGluaXQsIHRydWUsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIHNldFN0YXRlIGR1cmNoZ2Vmw7xocnQ6ICcgKyBsb29wUGFyYW1bMF0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEZ1bmN0aW9uIHRvIGNhbGxiYWNrIHBhcmFtZXRlciB3YXMgcHJvdmlkZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICB9LCBERUxBWSArICgyMCAqIGNvdW50ZXIpICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgfQp9CgovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKLy9EYXRlbnB1bmt0ZSBmw7xyIFNlbmRlciBlcnN0ZWxsZW4gbWl0IFNtYXJ0TmFtZW4gZsO8ciBpb3QKbGV0IHN0YXRlc1RvQ3JlYXRlID0gWwogICAgWycwX3VzZXJkYXRhLjAuMDAyX251clZJUy4wM19UYWJlbGxlbi5UYWJlbGxlLUxhbXBlbicsIHsnbmFtZSc6J1RhYmVsbGUgLSBMYW1wZW4nLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonJywgJ2RlZic6JycsICJzbWFydE5hbWUiOiBmYWxzZSB9XSwKCl07CmNyZWF0ZVVzZXJTdGF0ZXMoYW5sZWdlbl9pbix0cnVlLCBzdGF0ZXNUb0NyZWF0ZSk7CgovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKLy9GdW5rdGlvbiBtYWluIG1pdCBWZXJ6w7ZnZXJ1bmcgYXVmcnVmZW4KdGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewptYWluKCk7Cn0sIDUwMDApOwoKCg==</field>
<comment pinned="false" h="80" w="160">Datenpunkte erstellen</comment>
</block>
<block type="procedures_defnoreturn" id="|r?w}:z)r=!T3O=4ydx]" collapsed="true" x="762" y="-487">
<field name="NAME">main</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
<statement name="STACK">
<block type="variables_set" id=".gQp2+8;_3/q8_Uwr:F/">
<field name="VAR" id="$RIK(0f);.l=!pQfVAU#">Tabelle - Lampen</field>
<value name="VALUE">
<block type="text_join" id="]$B5QV^ydMJ7Ox*Vk,L(">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="variables_get" id="z$A`(VFvUcL{CgqQKX]4">
<field name="VAR" id="X{YCwT6)UO~XY`Vc}2I4">anlegen_in</field>
</block>
</value>
<value name="ADD1">
<block type="text" id="An4U,bq[qbV=TJY^y+9l">
<field name="TEXT">0_userdata.0.002_nurVIS.03_Tabellen.Tabelle-Lampen</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="C5HWo|yi`(1D-VroN~CI">
<field name="VAR" id="QZuXR_Vj:|w~;Y^wh/80">dpVIS</field>
<value name="VALUE">
<block type="text" id="jE]@{6x/=YXCcP(*}MB_">
<field name="TEXT">0_userdata.0.002_nurVIS.03_Tabellen.Tabelle-Lampen</field>
</block>
</value>
<next>
<block type="on_ext" id="j5{Mnb?|Oo@L~6(UbSAv">
<mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow type="field_oid" id="FL;tv}CJCem$Z^9KD@Op">
<field name="oid">default</field>
</shadow>
<block type="variables_get" id="Ni|HL}{c56c/QzL#ge42">
<field name="VAR" id="vFTZ1]BURtyw_?,7vv7]">Tabelle - Wert</field>
</block>
</value>
<statement name="STATEMENT">
<block type="debug" id="X0vTv0:.XY]1I6tzL9q@">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="RJ?8[!3;Q~FS8lAtLdeR">
<field name="TEXT">geschaltet</field>
</shadow>
</value>
<next>
<block type="variables_set" id="83N;r#%qTAdY9GgSNs^F">
<field name="VAR" id=";]3e-T$pq}QNAxDl__@;">Liste</field>
<value name="VALUE">
<block type="lists_create_with" id="4U^kzE{Hs(]pnBMC??q|">
<mutation items="0"></mutation>
</block>
</value>
<next>
<block type="variables_set" id="*~@+.cU.1SMX$3YFQEMy">
<field name="VAR" id="xEf:=c;06LZR_EPM?]P@">counter</field>
<value name="VALUE">
<block type="math_number" id="GaEH[gm^fOE=a@gYSg@t">
<field name="NUM">-1</field>
</block>
</value>
<next>
<block type="debug" id="0q`R4fr%LknOMj$3V$u@">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="TaX2W/t-$WBf@8b04TWs">
<field name="TEXT">geschaltet</field>
</shadow>
<block type="lists_length" id="m,n=M/w=A+o?=9%4uy~@">
<value name="VALUE">
<block type="variables_get" id="pA5HL%Bq}t=XiPi,$TkX">
<field name="VAR" id="Sj=PG`7sdz;!7%*c;rMl">Tabelle - Name</field>
</block>
</value>
</block>
</value>
<next>
<block type="controls_for" id="y*t(t$H=O/`gkA]e{f]N">
<field name="VAR" id="wan~:25GYo--e@M0rsmr">i</field>
<value name="FROM">
<shadow type="math_number" id="OSgU2MY;^D/[!kGW:d|L">
<field name="NUM">1</field>
</shadow>
<block type="math_number" id="{.jK(G4;-B#Wp-{i_~;8">
<field name="NUM">0</field>
</block>
</value>
<value name="TO">
<shadow type="math_number" id="yP97$mYMiincLzghyD]w">
<field name="NUM">10</field>
</shadow>
<block type="math_arithmetic" id="(xxz~IVSoXGHB,isG3S~">
<field name="OP">MINUS</field>
<value name="A">
<shadow type="math_number" id="`d,k5Qn$m.Uf_;4i+y]:">
<field name="NUM">1</field>
</shadow>
<block type="lists_length" id="#|sN^hF5G+sr]seg.U^:">
<value name="VALUE">
<block type="variables_get" id="?C(i`!-9hz%|ghSq;5m6">
<field name="VAR" id="Sj=PG`7sdz;!7%*c;rMl">Tabelle - Name</field>
</block>
</value>
</block>
</value>
<value name="B">
<shadow type="math_number" id="_/.VYy0t$[G=yegaPe]4">
<field name="NUM">1</field>
</shadow>
<block type="math_number" id="!_6P=,aB)p+dU5}d!x2,">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="BY">
<shadow type="math_number" id="OySf9m]U]b[ImluOB#gC">
<field name="NUM">1</field>
</shadow>
<block type="math_number" id="7ytVjDF?/?6OeV}x24mQ">
<field name="NUM">1</field>
</block>
</value>
<statement name="DO">
<block type="debug" id=":8ICawg@-2]p/l}oHZph">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="8?~*3=^0D^hO{s,pGCXE">
<field name="TEXT">geschaltet</field>
</shadow>
<block type="get_value_var" id="SfY)vB]wkc]`bQu;UBzD">
<field name="ATTR">val</field>
<value name="OID">
<shadow type="text">
<field name="TEXT"></field>
</shadow>
<block type="lists_getIndex" id="F{|T^UXS*aC?kou33~VB">
<mutation statement="false" at="true"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="tn?iJ?HNP[KJG}{]9?v2">
<field name="VAR" id="vFTZ1]BURtyw_?,7vv7]">Tabelle - Wert</field>
</block>
</value>
<value name="AT">
<block type="math_arithmetic" id="#KU;iM?RVn,D|)Av$ze/">
<field name="OP">ADD</field>
<value name="A">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id="Um9ElR!rBcQ2})$(,f!S">
<field name="VAR" id="wan~:25GYo--e@M0rsmr">i</field>
</block>
</value>
<value name="B">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="math_number" id="s0vbhz);SdvuUd:a#[4x">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex" id="7cHhu-{x}5HAucBz}OME">
<mutation at="true"></mutation>
<field name="MODE">SET</field>
<field name="WHERE">FROM_START</field>
<value name="LIST">
<block type="variables_get" id="$jGQP+47^7]ZUgfroqAH">
<field name="VAR" id=";]3e-T$pq}QNAxDl__@;">Liste</field>
</block>
</value>
<value name="AT">
<block type="math_arithmetic" id="[b-)#Lj:KzVU.g^vH)nX">
<field name="OP">ADD</field>
<value name="A">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id="sbR4`Q$D:.e06oMl4!0K">
<field name="VAR" id="wan~:25GYo--e@M0rsmr">i</field>
</block>
</value>
<value name="B">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="math_number" id="8Xn*B:/R/T]Qhr:m~??$">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="TO">
<block type="lists_create_with" id="{@ebK;o3Gklz{FqwS:$4">
<mutation items="4"></mutation>
<value name="ADD0">
<block type="lists_getIndex" id="Yv1b/Rs0|MHe~KT=@g6K">
<mutation statement="false" at="true"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="WC6k:N-L(kLDBK=VzUp^">
<field name="VAR" id="Sj=PG`7sdz;!7%*c;rMl">Tabelle - Name</field>
</block>
</value>
<value name="AT">
<block type="math_arithmetic" id="cFkZochi|Z(~gj`U!Z$1">
<field name="OP">ADD</field>
<value name="A">
<shadow type="math_number" id="xx9p?#FxT!_uDOTe7mNk">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id="~ww5Z8a+vfPD69Fjq)8s">
<field name="VAR" id="wan~:25GYo--e@M0rsmr">i</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="c1,#}X|F46YsFcC_Tk!;">
<field name="NUM">1</field>
</shadow>
<block type="math_number" id="Q?tk_~D~a*]S,lI#TiZx">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="ADD1">
<block type="get_value_var" id="[%)g^C8XgS{pO{#tb!X{">
<field name="ATTR">val</field>
<value name="OID">
<shadow type="text" id="@I^i5M4[MKS7D,YqmG`{">
<field name="TEXT"></field>
</shadow>
<block type="lists_getIndex" id="{`NI)0^^8n{Z7^@AA~qN">
<mutation statement="false" at="true"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="*oemeJw6LT8Nh!2CkT?#">
<field name="VAR" id="vFTZ1]BURtyw_?,7vv7]">Tabelle - Wert</field>
</block>
</value>
<value name="AT">
<block type="math_arithmetic" id="DepAp4o{CEN`rP42Eyk9">
<field name="OP">ADD</field>
<value name="A">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id="Tj/=~@4drS6mm~an?;V{">
<field name="VAR" id="wan~:25GYo--e@M0rsmr">i</field>
</block>
</value>
<value name="B">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="math_number" id="kU(m?T`BSR,4Iv`Q!w#;">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="ADD2">
<block type="lists_getIndex" id="X.iFvPi}P2*EIsnO^{u%">
<mutation statement="false" at="true"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="ScyNh|x,2=1a~=6NT4=Z">
<field name="VAR" id="vFTZ1]BURtyw_?,7vv7]">Tabelle - Wert</field>
</block>
</value>
<value name="AT">
<block type="math_arithmetic" id="mqSsuKI+G%J,+W7CKvIZ">
<field name="OP">ADD</field>
<value name="A">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id="[kugO)TQm=/,n8{zd,Cb">
<field name="VAR" id="wan~:25GYo--e@M0rsmr">i</field>
</block>
</value>
<value name="B">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="math_number" id="DOQ!`A,Rrd+b_b?0JDPR">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="ADD3">
<block type="lists_getIndex" id=",;1K;!QM5c#eZ`ajEegW">
<mutation statement="false" at="true"></mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="ge0oPgG/7df}^#-X2CMH">
<field name="VAR" id="uY@Vk|3N|Db%n1]s5r65">schaltbar</field>
</block>
</value>
<value name="AT">
<block type="math_arithmetic" id="v(3{5ly@?+FidzF_#wet">
<field name="OP">ADD</field>
<value name="A">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id="mcqO0S9cj)`r#7k2DjFr">
<field name="VAR" id="wan~:25GYo--e@M0rsmr">i</field>
</block>
</value>
<value name="B">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="math_number" id="yc^b5/3L*,P+0k-n^vQz">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</statement>
<next>
<block type="debug" id="fgbQNnE,HDdl5m{Og$~L">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text">
<field name="TEXT">geschaltet</field>
</shadow>
<block type="variables_get" id="fAG([Lz!V$1PS5fDxtU]">
<field name="VAR" id=";]3e-T$pq}QNAxDl__@;">Liste</field>
</block>
</value>
<next>
<block type="procedures_callcustomnoreturn" id="nOV9gWJMT2K)YWW~F$5f">
<mutation name="tabelleMit3Werten">
<arg name="myList"></arg>
</mutation>
<value name="ARG0">
<block type="variables_get" id="H,0ylQ7zL6lG%zxB]}_*">
<field name="VAR" id=";]3e-T$pq}QNAxDl__@;">Liste</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="variables_set" id=";?fMsQ~nMP,W:*R,z,hL" x="37" y="-437">
<field name="VAR" id="X{YCwT6)UO~XY`Vc}2I4">anlegen_in</field>
<value name="VALUE">
<block type="text" id="TZDVFCHb+7p4,v#~lC!*">
<field name="TEXT">0_userdata.0</field>
</block>
</value>
<next>
<block type="timeouts_settimeout" id="8FQd(trxfKDt`(FG0(?=">
<field name="NAME">start</field>
<field name="DELAY">1000</field>
<field name="UNIT">ms</field>
<statement name="STATEMENT">
<block type="procedures_callcustomnoreturn" id="}{A#y;jy-Pl_)n6[of`b">
<mutation name="Datenpunkte_erstellen"></mutation>
</block>
</statement>
</block>
</next>
</block>
<block type="variables_set" id="}WiBpiZ0_%C:a^gG0Q#n" x="663" y="-437">
<field name="VAR" id="Sj=PG`7sdz;!7%*c;rMl">Tabelle - Name</field>
<value name="VALUE">
<block type="lists_create_with" id="|/LJ3+{[jEYU,^h}Z:pg">
<mutation items="6"></mutation>
<value name="ADD0">
<block type="text" id="A=3U~Wx+!2j@I21Dk?!^">
<field name="TEXT">Esstisch</field>
</block>
</value>
<value name="ADD1">
<block type="text" id="*Km]#h%{YG3Z65mghZ+9">
<field name="TEXT">Sofatisch</field>
</block>
</value>
<value name="ADD2">
<block type="text" id="y7Jgr#UXpq@uQXn5Hosq">
<field name="TEXT">Stehlampe klein</field>
</block>
</value>
<value name="ADD3">
<block type="text" id="pm)@d}6J`zZy+bXNH@H$">
<field name="TEXT">Stehlampe groß</field>
</block>
</value>
<value name="ADD4">
<block type="text" id=".;1X=-;h$![-QQg$Ws}.">
<field name="TEXT">Schlafzimmer-Lampe</field>
</block>
</value>
<value name="ADD5">
<block type="text" id="zR]5Osz[~k`X0`Ysg7at">
<field name="TEXT">Abstellkammer-Lampe</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="y2?]c9}3]*k*C),|U;{F">
<field name="VAR" id="vFTZ1]BURtyw_?,7vv7]">Tabelle - Wert</field>
<value name="VALUE">
<block type="lists_create_with" id="1e{,vWUl,1O@][+qJ:L6">
<mutation items="6"></mutation>
<value name="ADD0">
<block type="field_oid" id="bX4qya?A8Y_3Om5J.bxY">
<field name="oid">alias.0.01_Stube.01_Schalter.Schalter-Esstisch</field>
</block>
</value>
<value name="ADD1">
<block type="field_oid" id="4mkxL8p:7o[j8ZsC-2ah">
<field name="oid">alias.0.01_Stube.01_Schalter.Schalter-Sofatisch</field>
</block>
</value>
<value name="ADD2">
<block type="field_oid" id="i:o,,cQ(d(#M`)2@gzF]">
<field name="oid">alias.0.03_Flur-Kammer.03_Lampen.Lampe_Kammer_Wert</field>
</block>
</value>
<value name="ADD3">
<block type="field_oid" id="rJWml9-eq;)/t##LN*y]">
<field name="oid">alias.0.03_Flur-Kammer.03_Lampen.Lampe_Kammer_Wert</field>
</block>
</value>
<value name="ADD4">
<block type="field_oid" id="8F6}0M/F!k6S+)kBf9:p">
<field name="oid">alias.0.02_Schlafzimmer.01_Schalter.Schalter-Schlafzimmerlampe</field>
</block>
</value>
<value name="ADD5">
<block type="field_oid" id="$._9Le1ae@9*gS%i.Lx]">
<field name="oid">alias.0.03_Flur-Kammer.03_Lampen.Lampe_Kammer_Wert</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id=".U=[Cr|/iP:B^mnE}#A#">
<field name="VAR" id="uY@Vk|3N|Db%n1]s5r65">schaltbar</field>
<value name="VALUE">
<block type="lists_create_with" id="wD-C;G9y2Ug`PWKUH(ky">
<mutation items="6"></mutation>
<value name="ADD0">
<block type="logic_boolean" id="04IQde8Vg/|TT?Gw9;p;">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="ADD1">
<block type="logic_boolean" id="RmD:CGK^B}e8P@^nv`8g">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="ADD2">
<block type="logic_boolean" id="/;Dc[y*A#EE}0CAEOLjV">
<field name="BOOL">FALSE</field>
</block>
</value>
<value name="ADD3">
<block type="logic_boolean" id="*[GG,|,[dY%ek({;LnsX">
<field name="BOOL">FALSE</field>
</block>
</value>
<value name="ADD4">
<block type="logic_boolean" id="dwwh`.gmm@lC~_Su,doE">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="ADD5">
<block type="logic_boolean" id="0?i/$;+{3=f.8n29T+G^">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
<block type="procedures_defcustomnoreturn" id="d+PXd6N1nBTxz}gaM@Co" x="37" y="-312">
<mutation statements="false">
<arg name="myList" varid="0q#2a)[a+^d21Zhdi^sp"></arg>
</mutation>
<field name="NAME">tabelleMit3Werten</field>
<field name="SCRIPT">Ly9AbGl2LWluLXNreSAyMDIwICA0LjIuLTE4OjQyCgoKLy9ISUVSIFdJUkQgUEZBRCBVTkQgRklMRU5BTUUgREVGSU5JRVJUCmNvbnN0IHBhdGggPSAiL2h0bWxleGFtcGxlc2V0dGluZy5odG1sIjsgICAgICAgICAgICAgICAgICAgLy9GSWxlbmFtZW4gZGVmaW5pZXJlbgpjb25zdCBob21lID0ndmlzLjAnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy93byBzb2xsIGRhcyBmaWxlIGltIGlvYnJva2VyLWZpbGUtc3lzdGVtIGxpZWdlbiA/IChvZGVyIHouYiBhdWNoIGlxb250cm9sLm1ldGEpCmxldCAgIGJyYXVjaGVFaW5GaWxlPWZhbHNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmVpIHRydWUgd2lyZCBlaW4gZmlsZSBnZXNjaHJpZWJlbgpsZXQgICBicmF1Y2hlRWluVklTV2lkZ2V0PXRydWU7ICAgICAgICAgICAgICAgICAgICAgLy8gYmVpIHRydWUgd2lyZCBlaW4gaHRtbC10YWJlbGxlIGluIGVpbmVuIGRwIGdlc2NocmllYmVuIC0gc2llaGUgbsOkY2hzdGUgemVpbGUKLy9sZXQgZHBWSVM9ImNvbnRyb2xsLW93bi4wLkFBQVRFU1QuVGVzdEhUTUwiICAgICAgICAgLy9XSUNIVElHIHdlbm4gYnJhdWNoZUVpblZJU1dpZGdldCBhdWYgdHJ1ZSBnZXNldHp0ICEhICBkcCB6dXPDpHR6bGljaCBmw7xyIFZJUy1IVE1MLUJhc2ljLVdpZGdldApjb25zdCBmYXJiZVNjaGFsdGVyT049ImxpZ2h0Ymx1ZSIgICAgICAgICAgICAgICAvLyBmYXJiZSBkZXMgc2NoYWx0ZXJzIGbDvHIgT04KY29uc3QgZmFyYmVTY2hhbHRlck9GRj0iZ3JleSIgICAgICAgICAgICAgICAvLyBmYXJiZSBkZXMgc2NoYWx0ZXJzIGbDvHIgT0ZGCgovL2xldCBteVNjaGVkdWxlPSIgKi8yMCAqICogKiAqICogIjsgICAgICAgICAgICAgICAgICAgICAgIC8vamVkZSBtaW51dGUgIAovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLy9ISUVSIERJRSBTUEFMVEVOIEFOWkFITCBERUZJTklFUkVOIC0gamVkZSBTcGFsdGUgZWluZW4gV2VydCAtIGluIGRpZXNlbSBCZWlzcGllbCBzaW5kIGVzIDIKdmFyIGh0bWxGZWxkMT0nU3RhbmRvcnQnOyAgICAgICB2YXIgRmVsZDFsQWxpZ249ImxlZnQiOyAgICAgICAgICAgICAgICAgICAgIC8vIMO8YmVyc2NocmlmdCBUYWJlbGxlbiBTcGFsdGUxIHVuZCAgQXVzcmljaHR1bmcgbGVmdCxyaWdodCBvciBjZW50ZXIKdmFyIGh0bWxGZWxkMj0nU3RhdHVzJzsgICAgICAgICB2YXIgRmVsZDJsQWxpZ249ImNlbnRlciI7ICAgICAgICAgICAgICAgICAgICAgIC8vIMO8YmVyc2NocmlmdCBUYWJlbGxlbiBTcGFsdGUyIHVuZCAgQXVzcmljaHR1bmcgbGVmdCxyaWdodCBvciBjZW50ZXIKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKLy9oaWVyIHdlcmRlbiBkaWUgc3R5bGVzIGbDvHIgZGllIHRhYmVsbGUgZGVmaW5pZXJ0Ci8vw5xCRVJTQ0hSSUZUIMOcQkVSIFRBQkVMTEUKbGV0ICAgaHRtbFViZXJzY2hyaWZ0PWZhbHNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1pdCDDnGJlcnNjaHJpZnQgw7xiZXIgZGVyIHRhYmVsbGUKbGV0ICAgaHRtbFNpZ25hdHVyZT1mYWxzZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhbnN0YXR0IGRlciDDnGJlcnNjZ2hyaWZ0IGVpbmUgc2lnbmF0dXJlOiAtIGtsZWluZXIgLSBhbmxpZWdlbmQKY29uc3QgaHRtbEZlbGRVZWJlcj0nQmF0dGVyaWUgWnVzdGFuZCBTZW5zb3Jlbic7ICAgICAgICAgICAgICAvLyDDnGJlcnNjaHJpZnQgdW5kIFNpZ25hdHVyZQpjb25zdCBodG1sRmFyYlViZXI9ImJsYWNrIjsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRmFyYmUgZGVyIMOcYmVyc2NocmlmdApjb25zdCBodG1sU2NocmlmdFdlaXRlPSJub3JtYWwiOyAgICAgICAgICAgICAgICAgICAgICAgLy8gYm9sZCwgbm9ybWFsIC0gRmV0dHNjaHJpZnQgZsO8ciDDnGJlcnNjaHJpZnQKY29uc3QgaHRtbMOcYmVyRm9udEdyb2Vzc2U9IjE4cHgiOyAgICAgICAgICAgICAgICAgICAgICAgLy8gc2NocmlmdGdyw7bDn2Ugw7xiZXJzY2hyaWZ0Ci8vTUVIUkVSRSBUQUJFTExFTiBORUJFTkVJTkFOREVSCmxldCAgIG1laHJmYWNoVGFiZWxsZT0xOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJpcyB6dSA0IFRhYmVsbGVuIHdlcmRlbiBuZWJlbmVpbmFuZGVyIGdlc2NocmllYmVuLSAgdmVya8O8cnp0IGRhcyBHYW56ZSwgZGFmw7xyIGV0d2FzIGJyZWl0ZXIgLSBNw5ZHTElDSCAxLDIsMyxvZGVyIDQgISEhCmNvbnN0IHRyZW5udW5nc0xpbmllPSIyIjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vZXh0cmEgdHJlbm51bmdzbGluaWUgYmVpIG1laHJmYWNodGFiZWxsZW4gLSBldnRsIGF1ZiAwIHN0ZWxsZW4sIHdubiBodG1sUmFobWVuTGluaWVuIGF1ZiBub25lIHNpbmQKY29uc3QgZmFyYmV0cmVubnVuZ3NMaW5pZT0id2hpdGUiOwpjb25zdCBodG1sRmFyYlp3ZWl0ZVRhYmVsbGU9IndoaXRlIjsgICAgICAgICAgICAgICAgLy8gRmFyYmUgZGVyIMOcYmVyc2NocmlmdCBiZWkgamVkZXIgMi50ZW4gVGFiZWxsZQpjb25zdCBodG1sRmFyYlRhYmxlQ29sb3JVYmVyPSIjMDAwMDAwIjsgICAgICAgICAgICAgICAvLyDDnGJlcnNjaHJpZnQgaW4gZGVyIHRhYmVsbGUgLSBkZXIgZWluemVsbmVuIFNwYWx0ZW4KLy/DnEJFUlNDSFJJRlQgU1BBTFRFTgpjb25zdCBVZWJlclNjaHJpZnRIw7ZoZT0iMzUiOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy/DnGJlcnNjaHJpZnQgYmVrb21tdCBtZWhyIFJhdW0gLSBkYXJ1bnRlciB1bmQgZGFyw7xiZXIgLSBaZWxsZW5ow7ZoZQpjb25zdCBMaW5pZVVudGVyVWViZXJzY2hyaWZ0PSIzIjsgICAgICAgICAgICAgICAgICAgLy8gTGluaWUgbnVyIHVudGVyIFNwYWx0ZW7DvGJlcnNjaHJpZnQgLSAKY29uc3QgZmFyYmVMaW5pZVVudGVyVWViZXJzY2hyaWZ0PSJ3aGl0ZSI7CmNvbnN0IGdyb2Vzc2VVZWJlcnNjaHJpZnQ9MTY7CmNvbnN0IFVlYmVyc2NocmlmdFN0eWxlPSJub3JtYWwiICAgICAgICAgICAgICAgICAgICAgLy8gbcO2Z2xpY2ggImJvbGQiCi8vR0FOWkUgVEFCRUxMRQpsZXQgYWJzdGFuZFplbGxlPSIxIjsKbGV0IGZhcmJlVW5nZXJhZGVaZWlsZW49IiMwMDAwMDAiOyAgICAgICAgICAgICAgICAgICAgIC8vRmFyYmUgZsO8ciB1bmdlcmFkZSBaZWlsZW5hbnphaGwgLSBIaW50ZXJncnVuZCBkZXIgU3BhbHRlbsO8YmVyc2NocmlmdCBibGVpYnQgYmVpIGh0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50MS8yCmxldCBmYXJiZUdlcmFkZVplaWxlbj0iIzE1MTUxNSI7ICAgICAgICAgICAgICAgICAgICAgICAgLy9GYXJiZSBmw7xyIGdlcmFkZSBaZWlsZW5hbnphaGwgLSBIaW50ZXJncnVuZCBkZXIgU3BhbHRlbsO8YmVyc2NocmlmdCBibGVpYnQgYmVpIGh0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50MS8yCmxldCB3ZWl0ZT0iMTAwJSI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vV2VpdGUgZGVyIFRhYmVsbGUKbGV0IHplbnRyaWVydD10cnVlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9nYW56ZSB0YWJlbGxlIHplbnRyaWVydApjb25zdCBiYWNrZ3JvdW5kQWxsPSIjMDAwMDAwIjsgICAgICAgICAgICAgICAgICAgICAgICAvL0hpbnRlcmdydW5kIGbDvHIgZGllIGdhbnplIFNlaXRlIC0gZsO8ciBkaXJla3RlbiBhdWZydWYgb2RlciBpcW9udHJvbCBzaWNodGJlciAtIGtlaW5lIGF1c3dpcmt1bmcgYXVmIHZpcy13aWRnZXQKY29uc3QgaHRtbFNjaHJpZnRhcnQ9IlBsYXktUmVndWxhciI7Ci8vY29uc3QgaHRtbFNjaHJpZnRncm9lc3NlPSIyMnB4IjsKLy9GRUxERVIgVU5EIFJBSE1FTgpsZXQgICBVZWJlcnNjaHJpZnRTcGFsdGVuPWZhbHNlOyAgICAgICAgICAgICAgICAvLyBlaW4tIG9kZXIgYXVzYmxlbmRlbiBkZXIgc3BhdGxlbi3DvGJlcnNjaHJpZnRlbgpjb25zdCBodG1sRmFyYkZlbGRlcnNjaHJpZnQ9IiNCREJEQkQiOyAgICAgICAgICAgICAgICAgIC8vIFNjaHJpZnRGYXJiZSBkZXIgRmVsZGVyCmNvbnN0IGh0bWxGYXJiRmVsZGVyc2NocmlmdDI9IiNEOEQ4RDgiOyAgICAgICAgICAgICAgICAgLy8gU2NocmlmdEZhcmJlIGRlciBGZWxkZXIgZsO8ciBqZWRlIDJ0ZSBUYWJlbGxlCmNvbnN0IGh0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50MT0iI0NERDE2MyI7ICAgICAgICAgIC8vICBHcmFkaWVudCAtIEhpbnRlcmdydW5kIGRlciBUYWJlbGxlIC0gVmVybGF1ZmZhcmJlCmNvbnN0IGh0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50Mj0iI0NERDE2MyI7ICAgICAgICAgIC8vICBHcmFkaWVudCAtIEhpbnRlcmdydW5kIGRlciBUYWJlbGxlIC0gaXN0IGRpZXNlciBXZXJ0IGdsZWljaCBHcmFkaWVudDEgZ2lidCBlcyBrZWluZW4gdmVybGF1Zgpjb25zdCBodG1sRmFyYlRhYmxlQm9yZGVyQ29sb3I9ImFjYWEyMCI7ICAgICAgICAgICAgIC8vIEZhcmJlIGRlcyBSYWhtZW4gLSBpcyB0ZGllc2VyIGdsZWljaCBkZW4gZ3JhZGllbnRlbiwgc2luZCBkaWUgcmFobWVuIHVuc2ljaHRiYXIKbGV0IGh0bWxSYWhtZW5MaW5pZW49ImFsbCI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZvcm1hdCBmw7xyIFJhaG1lbjogTcOWR0xJQ0g6ICJub25lIiBvZGVyICJhbGwiIG9kZXIgImNvbHMiIG9kZXIgInJvd3MiCmNvbnN0IGh0bWxTcGFsdGUxV2VpdGU9ImF1dG8iOyAgICAgICAgICAgICAgICAgICAvLyAgV2VpdGUgZGVyIGVyc3RlbiBiZWlkZW4gIFNwYWx0ZW4gb2RlciB6LmIuIDExNXB4CgovLyBISUVSIE5JQ0hUUyAgw4ROREVSTgoKbGV0IGJvcmRlckhlbHBCb3R0dW07CmxldCBib3JkZXJIZWxwUmlnaHQ7CmxldCBodG1sY2VudGVySGVscDsKbGV0IGh0bWxjZW50ZXJIZWxwMjsKCmlmKGh0bWxSYWhtZW5MaW5pZW49PSJyb3dzIikge2JvcmRlckhlbHBCb3R0dW09MTtib3JkZXJIZWxwUmlnaHQ9MDt9CmlmKGh0bWxSYWhtZW5MaW5pZW49PSJjb2xzIikge2JvcmRlckhlbHBCb3R0dW09MDtib3JkZXJIZWxwUmlnaHQ9MTt9CmlmKGh0bWxSYWhtZW5MaW5pZW49PSJub25lIikge2JvcmRlckhlbHBCb3R0dW09MDtib3JkZXJIZWxwUmlnaHQ9MDt9CmlmKGh0bWxSYWhtZW5MaW5pZW49PSJhbGwiKSAge2JvcmRlckhlbHBCb3R0dW09MTtib3JkZXJIZWxwUmlnaHQ9MTt9CnplbnRyaWVydCA/IGh0bWxjZW50ZXJIZWxwPSJhdXRvIiA6IGh0bWxjZW50ZXJIZWxwPSJsZWZ0IjsKemVudHJpZXJ0ID8gaHRtbGNlbnRlckhlbHAyPSJjZW50ZXIiIDogaHRtbGNlbnRlckhlbHAyPSJsZWZ0IjsKCgpjb25zdCBodG1sWmVudHJpZXJ0PScnCmNvbnN0IGh0bWxTdGFydD0gICAgIiI7Ci8vY29uc3QgaHRtbFVlYmVyPSAgICAiPHAgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiVWJlcisiOyBmb250LWZhbWlseToiK2h0bWxTY2hyaWZ0YXJ0KyI7IGZvbnQtd2VpZ2h0OiBib2xkXCI+IitodG1sRmVsZFVlYmVyKyI8L3A+IjsgICAgICAgICAgICAgICAgICAgIApjb25zdCBodG1sVGFiU3R5bGU9ICI8dGFibGUgY2xhc3M9XCIiK3RhYmVsbGVDbGFzcysiXCI+IjsKY29uc3QgaHRtbFRhYlVlYmVyMT0iPHRyIGhlaWdodD1cIiIrVWViZXJTY2hyaWZ0SMO2aGUrIlwiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYlRhYmxlQ29sb3JVYmVyKyI7IGZvbnQtc2l6ZTogIitncm9lc3NlVWViZXJzY2hyaWZ0KyJweDsgZm9udC13ZWlnaHQ6ICIrVWViZXJzY2hyaWZ0U3R5bGUrIiA7ICBib3JkZXItYm90dG9tOiAiK0xpbmllVW50ZXJVZWJlcnNjaHJpZnQrInB4IHNvbGlkICIrZmFyYmVMaW5pZVVudGVyVWViZXJzY2hyaWZ0KyIgXCI+IjsKY29uc3QgaHRtbFRhYlVlYmVyMz0iPC90cj4iOwoKY29uc3QgYnV0dG9uU2NyaXB0ID0gICc8c2NyaXB0PiBmdW5jdGlvbiBzZXRPbkRibENsaWNrQ3VzdG9tKCBteXZhbHVlICkgewl2YXIgU2VsZiA9IHRoaXM7IHZhciBvYmpJRCA9IG15dmFsdWU7CVNlbGYuc2VydkNvbm4uZ2V0U3RhdGVzKG9iaklELCAoZXJyb3IsIHN0YXRlcykgPT4geyAgY29uc29sZS5sb2coc3RhdGVzKTsgIFNlbGYuc2VydkNvbm4uc2V0U3RhdGUob2JqSUQsICFzdGF0ZXNbb2JqSURdLnZhbCk7IH0pOyB9IDwvc2NyaXB0PicKCi8vLy9OSUNIVFMgw4ROREVSTiAgLSBhYmjDpG5naWcgdm9uIGRlbiBvYmVuIGRlZmluaWVydGVuIF9TcGFsdGVuIC0gaW4gZGllc2VtIEJlaXNwaWVsIHNpbmQgZXMgMgoKdmFyIGh0bWxUYWJVZWJlcjI9Ijx0ZCB3aWR0aD0iK2h0bWxTcGFsdGUxV2VpdGUrIiBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7IitodG1sRmVsZDErIiZlbnNwOzwvdGQ+PHRkIHdpZHRoPSIraHRtbFNwYWx0ZTFXZWl0ZSsiIGFsaWduPSIrRmVsZDJsQWxpZ24rIj4mZW5zcDsiK2h0bWxGZWxkMisiJmVuc3A7PC90ZD4iOwp2YXIgaHRtbFRhYlVlYmVyMl8xPSI8dGQgd2lkdGg9IitodG1sU3BhbHRlMVdlaXRlKyIgYWxpZ249IitGZWxkMWxBbGlnbisiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYlp3ZWl0ZVRhYmVsbGUrIlwiPiZlbnNwOyIraHRtbEZlbGQxKyImZW5zcDs8L3RkPjx0ZCB3aWR0aD0iK2h0bWxTcGFsdGUxV2VpdGUrIiBhbGlnbj0iK0ZlbGQybEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiWndlaXRlVGFiZWxsZSsiXCI+JmVuc3A7IitodG1sRmVsZDIrCiAgICAgICAgICAgICAgICAgICImZW5zcDs8L3RkPiI7Ci8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKdmFyIGh0bWxPdXQ9IiI7CnZhciBtaXg7CnZhciBjb3VudGVyOwp2YXIgdmFsMTsgIHZhciB2YWwwOwp2YXIgaHRtbFRhYlVlYmVyPSIiOwoKZnVuY3Rpb24gd3JpdGVIVE1MKCl7CgoKCmh0bWxPdXQ9IiI7Cgpjb3VudGVyPS0xOwpodG1sVGFiVWViZXI9IiI7CnN3aXRjaCAobWVocmZhY2hUYWJlbGxlKSB7IAogIGNhc2UgMTogaHRtbFRhYlVlYmVyPWh0bWxUYWJVZWJlcjEraHRtbFRhYlVlYmVyMitodG1sVGFiVWViZXIzOyAgYnJlYWs7CiAgY2FzZSAyOiBodG1sVGFiVWViZXI9aHRtbFRhYlVlYmVyMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIzOyBicmVhazsKICBjYXNlIDM6IGh0bWxUYWJVZWJlcj1odG1sVGFiVWViZXIxK2h0bWxUYWJVZWJlcjIraHRtbFRhYlVlYmVyMl8xK2h0bWxUYWJVZWJlcjIraHRtbFRhYlVlYmVyMzsgYnJlYWs7CiAgY2FzZSA0OiBodG1sVGFiVWViZXI9aHRtbFRhYlVlYmVyMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIzOyBicmVhazsKfTsgICAgCmlmICghVWViZXJzY2hyaWZ0U3BhbHRlbikge2h0bWxUYWJVZWJlcj0iIn0KCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLy8tLS0tLS0tLS1oaWVyIGtvbW10IGV1cmUgc2NobGVpZmUgcmVpbiBjb3VudGVyKyssIHRhYmVsbGVCaW5kKCkgdW5kIHRhYmVsbGVGaW5pc2goKSBtw7xzc2VuIHNvIGludGVncmllcnQgYmxlaWJlbiAhISEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLy8tLS0tLS0tLS1hbGxlIHZhbHggd2VydGUgbcO8c3NlbiB2b24gZXVjaCBiZXN0aW1tdCB3ZXJkZW4gLSB2YWwwLHZhbDEgISEhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmZvciAodmFyIHg9MDt4PG15TGlzdC5sZW5ndGg7eCsrKXsKICAgIGNvdW50ZXIrKzsKICAgIGlmKG15TGlzdFt4XVsxXSE9bnVsbCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsMCAgPSBteUxpc3RbeF1bMF07CiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsMSAgPSBteUxpc3RbeF1bMV0KICAvLyBsb2codmFsMCkKICAgICAgICAgICAgICAgIGxldCB2YWxCdXR0b249bXlMaXN0W3hdWzJdCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIGlmIChteUxpc3RbeF1bM10pewogICAgICAgICAgICAgICAgdmFsMSA/IHZhbDE9IjxidXR0b24gc3R5bGVcPVwiYm9yZGVyOm5vbmVcOyBiYWNrZ3JvdW5kLWNvbG9yXDp0cmFuc3BhcmVudFw7IHZhbHVlPVwidG9nZ2xlXCIgb25jbGljaz1cInNldE9uRGJsQ2xpY2tDdXN0b21cKFwnIit2YWxCdXR0b24rIlwnKVwiPiIrIjxpbWcgY2xhc3M9XCIiK3RhYmVsbGVDbGFzc0ljb24rIlwiIHNyYz0iK3N5bWJvbFN3aXRjaE9OICsiIGhlaWdodD1cIiIrc3ltYm9sSG9laGUrIlwiIHdpZHRoPVwiIitzeW1ib2xCcmVpdGUrIlwiPiIrIjwvYnV0dG9uPiI6CiAgICAgICAgICAgICAgICAgICAgICAgICB2YWwxPSI8YnV0dG9uIHN0eWxlXD1cImJvcmRlcjpub25lXDsgYmFja2dyb3VuZC1jb2xvclw6dHJhbnNwYXJlbnRcOyB2YWx1ZT1cInRvZ2dsZVwiIG9uY2xpY2s9XCJzZXRPbkRibENsaWNrQ3VzdG9tXChcJyIrdmFsQnV0dG9uKyJcJylcIj4iKyI8aW1nIGNsYXNzPVwiIit0YWJlbGxlQ2xhc3NJY29uKyJcIiBzcmM9IitzeW1ib2xTd2l0Y2hPRkYgKyIgaGVpZ2h0PVwiIitzeW1ib2xIb2VoZSsiXCIgd2lkdGg9XCIiK3N5bWJvbEJyZWl0ZSsiXCI+IisiPC9idXR0b24+IjsKICAgICAgICAgICAgICAgIH0gZWxzZXsKICAgICAgICAgICAgICAgICAgIHZhbDEgPyB2YWwxPSI8aW1nIGNsYXNzPVwiIit0YWJlbGxlQ2xhc3NJY29uKyJcIiBzcmM9IitzeW1ib2xTd2l0Y2hPTiArIiBoZWlnaHQ9XCIiK3N5bWJvbEhvZWhlKyJcIiB3aWR0aD1cIiIrc3ltYm9sQnJlaXRlKyJcIj4iICA6IAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhbDE9IjxpbWcgY2xhc3M9XCIiK3RhYmVsbGVDbGFzc0ljb24rIlwiIHNyYz0iK3N5bWJvbFN3aXRjaE9GRiArIiBoZWlnaHQ9XCIiK3N5bWJvbEhvZWhlKyJcIiB3aWR0aD1cIiIrc3ltYm9sQnJlaXRlKyJcIj4iIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgLy8gICBpZiAodmFsMT09ZmFsc2UpIHt2YWwxPSLinYwifSBlbHNle3ZhbDE9IuKchSJ9ICAKICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmVsbGVCaW5kKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgfTsgLy9TY2hsZWlmZW4gRW5kZSAtIGplIG5hY2ggc2NobGVpZmVuYXJ0IG11c3MgaGllciBldHdhcyBnZcOkbmRlcnQgd2VyZGVuICEhISEhISEhIQoKfSB0YWJlbGxlRmluaXNoKCk7Ci8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAgCgogICAgLy8gQUIgSElFUiBOSUNIVFMgw4ROREVSTiAtIHRhYmVsbGUgZmVydGlnc3RlbGxlbgogICAgCn0gLy8gZnVuY3Rpb24gZW5kZQoKLy9NQUlOOgoKCndyaXRlSFRNTCgpOwoKZnVuY3Rpb24gdGFiZWxsZUJpbmQoKXsKICAgICAgc3dpdGNoIChtZWhyZmFjaFRhYmVsbGUpIHsgIAogICAgICAgIGNhc2UgMTogIGlmKGNvdW50ZXIlMj09MCkgICAgICAgICB7ICAgaHRtbE91dD1odG1sT3V0KyI8dHIgY2xhc3M9XCIiK3RhYmVsbGVDbGFzc1plaWxlMSsiXCI+PHRkIGNsYXNzPVwiIit0YWJlbGxlQ2xhc3NTcGFsdGUxKyJcIiBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+Iit2YWwwKyI8L3RkPjx0ZCBhbGlnbj0iK0ZlbGQybEFsaWduKyI+Iit2YWwxKyI8L3RkPjwvdHI+IjsgYnJlYWs7ICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAgIGh0bWxPdXQ9aHRtbE91dCsiPHRyIGNsYXNzPVwiIit0YWJlbGxlQ2xhc3NaZWlsZTIrIlwiPjx0ZCBjbGFzcz1cIiIrdGFiZWxsZUNsYXNzU3BhbHRlMSsiXCIgYWxpZ249IitGZWxkMWxBbGlnbisiPiIrdmFsMCsiPC90ZD48dGQgYWxpZ249IitGZWxkMmxBbGlnbisiPiIrdmFsMSsiPC90ZD48L3RyPiI7IGJyZWFrOyAgfQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICBjYXNlIDI6ICBpZihjb3VudGVyJTQ9PTApewogICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlMj09MCkgIHtodG1sT3V0ID0gaHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlR2VyYWRlWmVpbGVuKyJcIiA+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4iK3ZhbDArIjwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI7XCJhbGlnbj0iK0ZlbGQybEFsaWduKyI+Iit2YWwxKyI8L3RkPiI7IH0gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge2h0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4iK3ZhbDArIjwvdGQ+PHRkICBhbGlnbj0iK0ZlbGQybEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4iK3ZhbDErIjwvdGQ+PC90cj4iO30gYnJlYWs7CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgaWYoY291bnRlciUyPT0wKSAge2h0bWxPdXQgPSBodG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVVbmdlcmFkZVplaWxlbisiXCI+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4iK3ZhbDArIjwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyI7XCIgYWxpZ249IitGZWxkMmxBbGlnbisiPiIrdmFsMSsiPC90ZD4iOyB9IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtodG1sT3V0ID0gaHRtbE91dCsiPHRkICBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCIgY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4iK3ZhbDArIjwvdGQ+PHRkICBhbGlnbj0iK0ZlbGQybEFsaWduKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4iK3ZhbDErIjwvdGQ+PC90cj4iO30gYnJlYWs7fQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICAgICAgICAgICAgICAKICAgICAgICBjYXNlIDM6IGlmKGNvdW50ZXIlMj09MCkgICB7CiAgICAgICAgCiAgICAgICAgICAgICAgICBpZihjb3VudGVyJTM9PTAgKSAge2h0bWxPdXQgPSBodG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVHZXJhZGVaZWlsZW4rIlwiPjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+Iit2YWwwKyI8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFyYmV0cmVubnVuZ3NMaW5pZSsiO1wiIGFsaWduPSIrRmVsZDJsQWxpZ24rIj4iK3ZhbDErIjwvdGQ+IjsgfSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7IGlmKGNvdW50ZXIlMz09MSApICB7IGh0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4iK3ZhbDArIjwvdGQ+PHRkICBhbGlnbj0iK0ZlbGQybEFsaWduKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgc3R5bGU9XCJib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiO2NvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+Iit2YWwxKyI8L3RkPiI7fSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlICAgIHtodG1sT3V0ID0gaHRtbE91dCsiPHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4iK3ZhbDArIjwvdGQ+PHRkIGFsaWduPSIrRmVsZDJsQWxpZ24rIj4iK3ZhbDErIjwvdGQ+PC90cj4iO30KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGJyZWFrOyB9ZWxzZXsKICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlMz09MCApICB7aHRtbE91dCA9IGh0bWxPdXQrIjx0ciBiZ2NvbG9yPVwiIitmYXJiZVVuZ2VyYWRlWmVpbGVuKyJcIj48dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiIrdmFsMCsiPC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhcmJldHJlbm51bmdzTGluaWUrIjtcIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+Iit2YWwxKyI8L3RkPiI7IH0gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgeyBpZihjb3VudGVyJTM9PTEgKSAgeyBodG1sT3V0ID0gaHRtbE91dCsiPHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+Iit2YWwwKyI8L3RkPjx0ZCAgYWxpZ249IitGZWxkMmxBbGlnbisKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHN0eWxlPVwiYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIjtjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiIrdmFsMSsiPC90ZD4iO30gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgICB7aHRtbE91dCA9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+Iit2YWwwKyI8L3RkPjx0ZCBhbGlnbj0iK0ZlbGQybEFsaWduKyI+Iit2YWwxKyI8L3RkPjwvdHI+Ijt9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBicmVhazsgIH0gICAgICAgICAgICAgICAgICAgICAgIAovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gCiAgICAgICAgY2FzZSA0OiAvL2NvdW50ZXI9Y291bnRlcis4IAogICAgICAgIGlmKGNvdW50ZXIlOD09MCkgICB7CiAgICAgICAgCiAgICAgICAgICAgICAgICAgaWYoY291bnRlciU0PT0wKSAge2h0bWxPdXQgPSBodG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVHZXJhZGVaZWlsZW4rIlwiPjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+Iit2YWwwKyI8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFyYmV0cmVubnVuZ3NMaW5pZSsiO1wiIGFsaWduPSIrRmVsZDJsQWxpZ24rIj4iK3ZhbDErIjwvdGQ+IjsgfSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge2lmKGNvdW50ZXIlND09MSApICB7IGh0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4iK3ZhbDArIjwvdGQ+PHRkICBhbGlnbj0iK0ZlbGQybEFsaWduKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiIrdmFsMSsiPC90ZD4iO30gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgICB7aWYoY291bnRlciU0PT0zKSAgeyBodG1sT3V0PSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4iK3ZhbDArIjwvdGQ+PHRkICBhbGlnbj0iKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGZWxkMmxBbGlnbisiIHN0eWxlPVwiYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIjsgY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXCI+Iit2YWwxKyI8L3RkPjwvdHI+Ijt9IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgICAge2h0bWxPdXQgPSBodG1sT3V0ID0gaHRtbE91dCsiPHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4iK3ZhbDArIjwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICtmYXJiZXRyZW5udW5nc0xpbmllKyI7XCIgYWxpZ249IitGZWxkMmxBbGlnbisiPiIrdmFsMSsiPC90ZD4iO319CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBicmVhazt9ZWxzZXsKICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTQ9PTApICB7aHRtbE91dCA9IGh0bWxPdXQrIjx0ciBiZ2NvbG9yPVwiIitmYXJiZVVuZ2VyYWRlWmVpbGVuKyJcIj48dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiIrdmFsMCsiPC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhcmJldHJlbm51bmdzTGluaWUrIjtcIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+Iit2YWwxKyI8L3RkPiI7IH0gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtpZihjb3VudGVyJTQ9PTEgKSAgeyBodG1sT3V0ID0gaHRtbE91dCsiPHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+Iit2YWwwKyI8L3RkPjx0ZCAgYWxpZ249IitGZWxkMmxBbGlnbisKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHN0eWxlPVwiYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIjtjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiIrdmFsMSsiPC90ZD4iO30gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgICB7aWYoY291bnRlciU0PT0zKSAgeyBodG1sT3V0PSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4iK3ZhbDArIjwvdGQ+PHRkICBhbGlnbj0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICtGZWxkMmxBbGlnbisiIHN0eWxlPVwiIGNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+Iit2YWwxKyI8L3RkPjwvdHI+Ijt9IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgICAge2h0bWxPdXQgPSBodG1sT3V0ID0gaHRtbE91dCsiPHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4iK3ZhbDArIjwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIisKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYXJiZXRyZW5udW5nc0xpbmllKyI7XCIgYWxpZ249IitGZWxkMmxBbGlnbisiPiIrdmFsMSsiPC90ZD4iO319CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAgYnJlYWs7ICAgfSAgICAgICAgICAgICAgICAgICAgIAoKICAgIH0gLy9zd2l0Y2ggZW5kZQoKfQoKZnVuY3Rpb24gdGFiZWxsZUZpbmlzaCgpIHsKCiAgICAgIHN3aXRjaCAobWVocmZhY2hUYWJlbGxlKSB7ICAKICAgICAgICBjYXNlIDE6ICAgIGJyZWFrOwogICAgICAgIGNhc2UgMjogICAgaWYoY291bnRlciUyPT0wKSAgaHRtbE91dCA9IGh0bWxPdXQucmVwbGFjZSgvPFwvdGQ+JC8sICc8L3RkPjx0ZD4mZW5zcDs8L3RkPjx0ZD4mZW5zcDs8L3RkPjwvdHI+Jyk7IAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgMzogICAgaWYoY291bnRlciUzPT0yKSAgaHRtbE91dCA9IGh0bWxPdXQucmVwbGFjZSgvPFwvdGQ+JC8sICI8L3RkPjwvdHI+Iik7CiAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTM9PTEpICBodG1sT3V0ID0gaHRtbE91dC5yZXBsYWNlKC88XC90ZD4kLywgICc8L3RkPjx0ZD50ZXN0JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48L3RyPicpOyAgICAgICAKICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlMz09MCkgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAiPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIlwiPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PC90cj4iKTsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgNDogICAgaWYoY291bnRlciU0PT0zKSAgaHRtbE91dCA9IGh0bWxPdXQucmVwbGFjZSgvPFwvdGQ+JC8sICI8L3RkPjwvdHI+Iik7CiAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTQ9PTIpICBodG1sT3V0ID0gaHRtbE91dC5yZXBsYWNlKC88XC90ZD4kLywgIjwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PC90cj4iKTsKICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlND09MSkgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAiPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIlwiPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PC90cj4iKTsgICAgCiAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTQ9PTApICBodG1sT3V0ID0gaHRtbE91dC5yZXBsYWNlKC88XC90ZD4kLywgIjwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyJcIj4mZW5zcDs8L3RkPjx0ZD4mZW5zcDs8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiXCI+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48L3RyPiIpOyAgIAogICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgIGJyZWFrOyB9CiAgICAgICAgIHZhciBodG1sVWViZXI9ICAgICI8cCBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJVYmVyKyI7IGZvbnQtZmFtaWx5OiIraHRtbFNjaHJpZnRhcnQrIjsgZm9udC1zaXplOiAiK2h0bWzDnGJlckZvbnRHcm9lc3NlKyI7IGZvbnQtd2VpZ2h0OiIraHRtbFNjaHJpZnRXZWl0ZSsgIlwiPiIraHRtbEZlbGRVZWJlcisiJmVuc3A7JmVuc3A7TGFzdCBVcGRhdGU6ICIrZm9ybWF0RGF0ZShnZXREYXRlT2JqZWN0KChwYXJzZUZsb2F0KChuZXcgRGF0ZSgpLmdldFRpbWUoKSkpKSksICJTUzptbTpzcyIpOysiPC9wPiI7IAogICAgICB2YXIgaHRtbFVudGVyPSAiPGRpdiAgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiVWJlcisiOyBmb250LWZhbWlseToiK2h0bWxTY2hyaWZ0YXJ0KyI7IGZvbnQtc2l6ZTogNzAlOyB0ZXh0LWFsaWduOiByaWdodDtcIiA+IitodG1sRmVsZFVlYmVyKyImZW5zcDsmZW5zcDtMYXN0IFVwZGF0ZTogIitmb3JtYXREYXRlKGdldERhdGVPYmplY3QoKHBhcnNlRmxvYXQoKG5ldyBEYXRlKCkuZ2V0VGltZSgpKSkpKSwgIlNTOm1tOnNzIik7KyI8L2Rpdj4iCiAgICAgICAKICAgICAgIGlmICghaHRtbFNpZ25hdHVyZSkgaHRtbFVudGVyPSIiOwogICAgICAgICAvL0F1c2dhYmUgw7xiZXIgVklTIGh0bWwgd2lkZ2V0IC0gdGFiZWxsZSBpbiBkYXRlbnB1bmt0IHNjaHJlaWJlbiAtIGh0bWwgdGFiZWxsZSBvaG5lIGh0bWwgaGVhZGVyIHVuZCBib2R5CiAgICAgICAgICB2YXIgaHRtbE91dFZJUz0iIjsKICAgICAgICAvLyAgaHRtbFViZXJzY2hyaWZ0ID8gaHRtbE91dFZJUz1odG1sVWViZXIraHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0KyI8L3RhYmxlPiIgOiBodG1sT3V0VklTPWh0bWxUYWJTdHlsZStodG1sVGFiVWViZXIraHRtbE91dCsiPC90YWJsZT4iOwogICAgICAgICAgIGlmIChodG1sVWJlcnNjaHJpZnQpIAogICAgICAgICAgICAgICB7IHplbnRyaWVydCA/IGh0bWxPdXRWSVM9aHRtbFplbnRyaWVydCtodG1sVWViZXIraHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0KyI8L3RhYmxlPiIraHRtbFVudGVyKyBidXR0b25TY3JpcHQgOiBodG1sT3V0VklTPWh0bWxVZWJlcitodG1sVGFiU3R5bGUraHRtbFRhYlVlYmVyK2h0bWxPdXQrIjwvdGFibGU+IitodG1sVW50ZXIrIGJ1dHRvblNjcmlwdCA7CgogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICB6ZW50cmllcnQgPyAgaHRtbE91dFZJUz1odG1sWmVudHJpZXJ0K2h0bWxUYWJTdHlsZStodG1sVGFiVWViZXIraHRtbE91dCsiPC90YWJsZT4iK2h0bWxVbnRlcisgYnV0dG9uU2NyaXB0IDogIGh0bWxPdXRWSVM9aHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0KyI8L3RhYmxlPiIraHRtbFVudGVyKyBidXR0b25TY3JpcHQ7CgogICAgICAgICAgICAgICAgfQoKIC8vIGxvZygiYmluIHJhdXMgYXVzIHRhYmVsbGVCaW5kIik7CiAgICAgICAgICBpZiAoYnJhdWNoZUVpblZJU1dpZGdldCkgc2V0U3RhdGUoZHBWSVMsIGh0bWxPdXRWSVMgKTsKCnZhciBodG1sVW50ZXI9ICI8ZGl2ICBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJVYmVyKyI7IGZvbnQtZmFtaWx5OiIraHRtbFNjaHJpZnRhcnQrIjsgZm9udC1zaXplOiA4MCU7ICB0ZXh0LWFsaWduOiBjZW50ZXI7IFwiID4iK2h0bWxGZWxkVWViZXIrIiZlbnNwOyZlbnNwO0xhc3QgVXBkYXRlOiAiK2Zvcm1hdERhdGUoZ2V0RGF0ZU9iamVjdCgocGFyc2VGbG9hdCgobmV3IERhdGUoKS5nZXRUaW1lKCkpKSkpLCAiU1M6bW06c3MiKTsrIjwvZGl2PiIKCmlmICghaHRtbFNpZ25hdHVyZSkgaHRtbFVudGVyPSIiOwp2YXIgaHRtbEVuZD0iPC90YWJsZT4iK2h0bWxVbnRlcisiPC9kaXY+PC9ib2R5PiI7Ci8vbWl0IG9kZXIgb2huZSDDvGJlcnNjaHJpZnQgLSB6ZW50cmllcnQgb2RlciBsaW5rcwpodG1sVWJlcnNjaHJpZnQgPyBodG1sT3V0PWh0bWxTdGFydCtodG1sVWViZXIraHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0K2h0bWxFbmQgKyBidXR0b25TY3JpcHQ6IGh0bWxPdXQ9aHRtbFN0YXJ0K2h0bWxUYWJTdHlsZStodG1sVGFiVWViZXIraHRtbE91dCtodG1sRW5kKyBidXR0b25TY3JpcHQ7Ci8vbG9nKGh0bWxPdXQpOwoKCn0KCg==</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
</block>
<block type="variables_set" id="q.Wv.Mg#DuGWoRHZKg6B" x="37" y="-262">
<field name="VAR" id="2GY!!q}efSWeJut|}*g?">tabelleClass</field>
<value name="VALUE">
<block type="text" id="{3,N1cRWmzqXfkY)j#3~">
<field name="TEXT">ws_tabelle_lampen</field>
</block>
</value>
<next>
<block type="variables_set" id="^-ql]EH.:?,JtTZ*EJEQ">
<field name="VAR" id="zc}]z)HcoRF!Stu%L,1O">tabelleClassSpalte1</field>
<value name="VALUE">
<block type="text" id="mBlW|GZOtd%B+B9FC3VY">
<field name="TEXT">ws_tabelle_lampen_name</field>
</block>
</value>
<next>
<block type="variables_set" id="CU#j/],[Z-liJ8Dki:IS">
<field name="VAR" id="$SQ+1P}hh0i}dM)i!l8Y">tabelleClassZeile1</field>
<value name="VALUE">
<block type="text" id="|1*x$5KGnPCOpEw%g2_=">
<field name="TEXT">ws_tabelle_zeile1</field>
</block>
</value>
<next>
<block type="variables_set" id="Bl?JT_QPz{MPE/.f*Y#V">
<field name="VAR" id="0$3)d1XO~32nM)5=R_{E">tabelleClassZeile2</field>
<value name="VALUE">
<block type="text" id="F#^twe+8_N=7,p1v0Fwu">
<field name="TEXT">ws_tabelle_zeile2</field>
</block>
</value>
<next>
<block type="variables_set" id="6M0l#R(W?S~DV%3pIWF)">
<field name="VAR" id="@XCmXlbJ|}uQfG*Yj}BT">tabelleClassIcon</field>
<value name="VALUE">
<block type="text" id="R=A,kBgJ`qPak{V0lUMk">
<field name="TEXT">ws_tabelle_icon</field>
</block>
</value>
<next>
<block type="variables_set" id="y5W4f8slFT+@4+/T?d=A">
<field name="VAR" id="[+@foafRz`m~/)FhPq0`">symbolSwitchOFF</field>
<value name="VALUE">
<block type="text" id="UfmI|9f%z43Z%c6B.qz_">
<field name="TEXT">/vis.0/WS-Icons/Lampen/bulb-off.png</field>
</block>
</value>
<next>
<block type="variables_set" id="`(bYDvCf@Hp9C+ZCb:ab">
<field name="VAR" id="f`-]]z,}lIr/=i8^XP#h">symbolSwitchON</field>
<value name="VALUE">
<block type="text" id="h4JJKGiY(hcotD(Yl3i%">
<field name="TEXT">/vis.0/WS-Icons/Lampen/bulb-on.png</field>
</block>
</value>
<next>
<block type="variables_set" id="o49kS_e$fcW9;rA(aT5$">
<field name="VAR" id="N8]TG{K`UGkh#8BWL|E)">symbolBreite</field>
<value name="VALUE">
<block type="math_number" id="eKi.X5,+wui1bvHQvHHl">
<field name="NUM">35</field>
</block>
</value>
<next>
<block type="variables_set" id="Hv[c4#O+gucBahk)X.l*">
<field name="VAR" id="u,X-cS9u7+2)_f!kviiD">symbolHoehe</field>
<value name="VALUE">
<block type="math_number" id="o,Sj,y{+**.O6wZ/M/KK">
<field name="NUM">35</field>
</block>
</value>
<next>
<block type="variables_set" id="S;%s,:Tt/KOgz{W,:lTc">
<field name="VAR" id="QZuXR_Vj:|w~;Y^wh/80">dpVIS</field>
<value name="VALUE">
<block type="text" id="6sN0p?[P0:$-Jm]cFPVG">
<field name="TEXT">0_userdata.0.002_nurVIS.03_Tabellen.Tabelle-Lampen</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</xml>
CSS-Klassen
table.ws_tabelle_lampen {
width: 100%;
border-collapse: collapse;
border-width: 1px;
border-color: #ACAA20;
border-style: solid;
color: #C2C2C2;
}
table.ws_tabelle_lampen td {
border-width: 1px;
border-color: #ACAA20;
border-style: solid;
padding: 1px;
}
table.ws_tabelle_lampen .ws_tabelle_lampen_name {
width: 85%;
}
table.ws_tabelle_lampen .ws_tabelle_zeile1 {
background-color: #ff0000;
}
table.ws_tabelle_lampen .ws_tabelle_zeile2 {
background-color: blue;
}
table.ws_tabelle_lampen .ws_tabelle_icon {
width: 35px;
height: 35px;
}