Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly optimieren -Tabelle erstellen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly optimieren -Tabelle erstellen

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky @Wszene last edited by

      @wszene zähle dpVIs ... - das ist völlig verwirrend

      ich brauche dpVIS mit einer datenpunkt id , um das die tabelle darin zu speichern - sonst nix - in der schleife hat das nix zu suchen

      1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @Wszene last edited by

        @wszene

        also - hierm al das ergebnis - du kannst nun einstellen, ob nur bild oder schaltbares bild

        im beispiel - obere lanmpe ist nicht schaltbar

        anim-gif40.gif

        hier musst du deine sachen im bezug zu den bildern eintragen

        Image 3.png

        die gelben pfeile musst du dir kopieren - dort wurde geändert

        Image 4.png

        <xml xmlns="https://developers.google.com/blockly/xml">
         <variables>
           <variable id="j!r]d|0)OZ`?7?E5+uc,">dpVIS</variable>
           <variable id="U3ge^B{?p,jfAdCjS^R`">myList</variable>
           <variable id="%bp]2~EOjnEkDJX$NYKl">symbolSwitchOFF</variable>
           <variable id="8a-KbCQJUo$]XfcjLaz,">symbolSwitchON</variable>
           <variable id="sJ5]JS8[cNqh9%*Ncrso">bildgroesseBreit</variable>
           <variable id="_lOTy#(65qHkTUC-#qv-">bildgroesseHoch</variable>
           <variable id="y)eN7.8HDTNy:0QIRpvu">namen</variable>
           <variable id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</variable>
           <variable id="zg5`*,uA4%`Fg5L@=CAI">schaltbar</variable>
           <variable id="}K$K4dup~Vnv!`[}vnQy">Liste</variable>
           <variable id="Z=?7wCQ1-49/,bxoE1#|">counter</variable>
           <variable id="UrdtKDQ=Ky.^B@eAuwIJ">i</variable>
         </variables>
         <block type="comment" id="[j=,#tJ/I,.*8^Z3Wzs{" x="-287" y="-587">
           <field name="COMMENT">images - speicherort in vis</field>
           <next>
             <block type="variables_set" id="~?/2.OORH76[^b$|2(5R">
               <field name="VAR" id="%bp]2~EOjnEkDJX$NYKl">symbolSwitchOFF</field>
               <value name="VALUE">
                 <block type="text" id="3bPoXd(8*3scn9U;eE@/">
                   <field name="TEXT">/vis.0/armin/img/lampe-struktur-aus2.png</field>
                 </block>
               </value>
               <next>
                 <block type="variables_set" id="uXbCEVuXS=h+,,EVEHwY">
                   <field name="VAR" id="8a-KbCQJUo$]XfcjLaz,">symbolSwitchON</field>
                   <value name="VALUE">
                     <block type="text" id="%srfTYVdD%f}KeATVB(a">
                       <field name="TEXT">/vis.0/armin/img/lampe-struktur-gelb2.png</field>
                     </block>
                   </value>
                   <next>
                     <block type="variables_set" id="5Jd+nCw{/0S8ZXm^lw[c">
                       <field name="VAR" id="sJ5]JS8[cNqh9%*Ncrso">bildgroesseBreit</field>
                       <value name="VALUE">
                         <block type="math_number" id="Q=0a1hd-^LWLgqgiNaGD">
                           <field name="NUM">70</field>
                         </block>
                       </value>
                       <next>
                         <block type="variables_set" id=":=cNBc1~N::48F5P5Q7Z">
                           <field name="VAR" id="_lOTy#(65qHkTUC-#qv-">bildgroesseHoch</field>
                           <value name="VALUE">
                             <block type="math_number" id="Je;:%9eTu14ub:1{hve*">
                               <field name="NUM">80</field>
                             </block>
                           </value>
                           <next>
                             <block type="comment" id="xcpOj.{NS!eYll{PHKR*">
                               <field name="COMMENT">tabelle - speicherort</field>
                               <next>
                                 <block type="variables_set" id=":esye3=24O%w1CSt1}0H">
                                   <field name="VAR" id="j!r]d|0)OZ`?7?E5+uc,">dpVIS</field>
                                   <value name="VALUE">
                                     <block type="text" id="n{gM;m:9Bopp9FhtB2$Q">
                                       <field name="TEXT">controll-own.0.AAATEST.TestHTML</field>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="comment" id=".$=_}0|2u$~bQ?mpEmWQ">
                                       <field name="COMMENT">namen rechte spalte</field>
                                       <next>
                                         <block type="comment" id="XdqJd0}0:IV.@B%SPJ,l">
                                           <field name="COMMENT">anzahl namen und datenpunkte müssn GLEICH sein!!!!</field>
                                           <next>
                                             <block type="variables_set" id="%,}7!+#]4L;%k~3~$U`j">
                                               <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                                               <value name="VALUE">
                                                 <block type="lists_create_with" id="3v;AGsHBw|Ity4%0%LBm">
                                                   <mutation items="3"></mutation>
                                                   <value name="ADD0">
                                                     <block type="text" id="bquXlWOyq%x)l~Kd)#!$">
                                                       <field name="TEXT">Fenster vorn links</field>
                                                     </block>
                                                   </value>
                                                   <value name="ADD1">
                                                     <block type="text" id="AI[54NK3pOd_V.qP8;*#">
                                                       <field name="TEXT">Fenster vorn rechts</field>
                                                     </block>
                                                   </value>
                                                   <value name="ADD2">
                                                     <block type="text" id="kM.VWCCP(2KFbJzRuLZ}">
                                                       <field name="TEXT">Fenster hinten links</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="comment" id="y*eI7Z{I[{FGyQ@.T0W:">
                                                   <field name="COMMENT">zu prüfende datenpunkte</field>
                                                   <next>
                                                     <block type="variables_set" id="T?^D@#slt^U_c38k?Qf$">
                                                       <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                       <value name="VALUE">
                                                         <block type="lists_create_with" id="~vT)*f@e74d7nmI~aku}">
                                                           <mutation items="3"></mutation>
                                                           <value name="ADD0">
                                                             <block type="field_oid" id=":5hC4z,DJzE{mD!gGfxv">
                                                               <field name="oid">sonoff.0.Sonoff15.POWER</field>
                                                             </block>
                                                           </value>
                                                           <value name="ADD1">
                                                             <block type="field_oid" id="em_^Z$R~84*%,Q:upd*g">
                                                               <field name="oid">sonoff.0.Sonoff16.POWER</field>
                                                             </block>
                                                           </value>
                                                           <value name="ADD2">
                                                             <block type="field_oid" id="J%gkw).sCndBA`url,w2">
                                                               <field name="oid">sonoff.0.Sonoff17.POWER</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                       <next>
                                                         <block type="comment" id="y7bQkqCW4$J4.)r@8m0;">
                                                           <field name="COMMENT">schaltbar ja oder nein</field>
                                                           <next>
                                                             <block type="variables_set" id="`t^uKi@b)1@^b/dZ+7JU">
                                                               <field name="VAR" id="zg5`*,uA4%`Fg5L@=CAI">schaltbar</field>
                                                               <value name="VALUE">
                                                                 <block type="lists_create_with" id="A:wP[,~5zpo$qCxtYka(">
                                                                   <mutation items="3"></mutation>
                                                                   <value name="ADD0">
                                                                     <block type="logic_boolean" id="1-FJmRW,V{X:!MvV[MY^">
                                                                       <field name="BOOL">TRUE</field>
                                                                     </block>
                                                                   </value>
                                                                   <value name="ADD1">
                                                                     <block type="logic_boolean" id="g68n+RpF=_:+Tmr)U9ng">
                                                                       <field name="BOOL">FALSE</field>
                                                                     </block>
                                                                   </value>
                                                                   <value name="ADD2">
                                                                     <block type="logic_boolean" id="Ychmk6yl=No2OTW}]NDK">
                                                                       <field name="BOOL">TRUE</field>
                                                                     </block>
                                                                   </value>
                                                                 </block>
                                                               </value>
                                                               <next>
                                                                 <block type="on_ext" id="6rVl-%ae1[BpvH+7]z0b">
                                                                   <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="E1e;zY}}83B2UCtTz8hx">
                                                                       <field name="oid">default</field>
                                                                     </shadow>
                                                                     <block type="variables_get" id="Zf!Yc?uOmKG#K{Uu9S8b">
                                                                       <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                                     </block>
                                                                   </value>
                                                                   <statement name="STATEMENT">
                                                                     <block type="debug" id="^?RoF5D0{J(,XZeZWq6F" disabled="true">
                                                                       <field name="Severity">log</field>
                                                                       <value name="TEXT">
                                                                         <shadow type="text" id="0:I^y+jCty({t~YPWU4N">
                                                                           <field name="TEXT">geschaltet</field>
                                                                         </shadow>
                                                                       </value>
                                                                       <next>
                                                                         <block type="variables_set" id="sWqJxa.MyY?*y-S}mHPz">
                                                                           <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                                                                           <value name="VALUE">
                                                                             <block type="lists_create_with" id="s1KG8o;:gtQ6DjJt@w9I">
                                                                               <mutation items="0"></mutation>
                                                                             </block>
                                                                           </value>
                                                                           <next>
                                                                             <block type="variables_set" id="R6exgi+-F7xoKVW/[NE.">
                                                                               <field name="VAR" id="Z=?7wCQ1-49/,bxoE1#|">counter</field>
                                                                               <value name="VALUE">
                                                                                 <block type="math_number" id="AHHG~c/mltPLQ?]Ik;5M">
                                                                                   <field name="NUM">-1</field>
                                                                                 </block>
                                                                               </value>
                                                                               <next>
                                                                                 <block type="controls_for" id="JNNaZlB+?Z04HOx2Gu(?">
                                                                                   <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                   <value name="FROM">
                                                                                     <shadow type="math_number" id="WrG3EpK=zNPCy+mYu[+@">
                                                                                       <field name="NUM">0</field>
                                                                                     </shadow>
                                                                                     <block type="math_number" id="G9ch35ui-=)nUvTqVCOT">
                                                                                       <field name="NUM">0</field>
                                                                                     </block>
                                                                                   </value>
                                                                                   <value name="TO">
                                                                                     <shadow type="math_number" id="_/06^]%/`/nYCqXnIr%]">
                                                                                       <field name="NUM">10</field>
                                                                                     </shadow>
                                                                                     <block type="math_arithmetic" id="]q!U`YCaC;PMR^{DooB]">
                                                                                       <field name="OP">MINUS</field>
                                                                                       <value name="A">
                                                                                         <shadow type="math_number" id="Dj.{]V.]LAp_6Vjm#%vj">
                                                                                           <field name="NUM">1</field>
                                                                                         </shadow>
                                                                                         <block type="lists_length" id="h+EEOFLY?/C$y6;7liOQ">
                                                                                           <value name="VALUE">
                                                                                             <block type="variables_get" id="]^fMwx:|!n@Ul52mG}S@">
                                                                                               <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                                                                                             </block>
                                                                                           </value>
                                                                                         </block>
                                                                                       </value>
                                                                                       <value name="B">
                                                                                         <shadow type="math_number" id="@5oyWW3*FKd34M.~-Bwh">
                                                                                           <field name="NUM">1</field>
                                                                                         </shadow>
                                                                                         <block type="math_number" id="Nn1jAzxjib3~jtKKoXk}">
                                                                                           <field name="NUM">1</field>
                                                                                         </block>
                                                                                       </value>
                                                                                     </block>
                                                                                   </value>
                                                                                   <value name="BY">
                                                                                     <shadow type="math_number" id="7;%P*{n!b.1Xz)aAfk#m">
                                                                                       <field name="NUM">1</field>
                                                                                     </shadow>
                                                                                     <block type="math_number" id="3ZVDn%UWJCgghp=ke5_$">
                                                                                       <field name="NUM">1</field>
                                                                                     </block>
                                                                                   </value>
                                                                                   <statement name="DO">
                                                                                     <block type="lists_setIndex" id="-zUiNM(}BsoQ].Hu.|mx">
                                                                                       <mutation at="true"></mutation>
                                                                                       <field name="MODE">INSERT</field>
                                                                                       <field name="WHERE">FROM_START</field>
                                                                                       <value name="LIST">
                                                                                         <block type="variables_get" id="Q0Hct8=ken4m!!W]js)U">
                                                                                           <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                                                                                         </block>
                                                                                       </value>
                                                                                       <value name="AT">
                                                                                         <block type="variables_get" id="m`1tO?)De5*L9}MI~ux0">
                                                                                           <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                         </block>
                                                                                       </value>
                                                                                       <value name="TO">
                                                                                         <block type="lists_create_with" id="6a@[p]s)BEL%k0#L3dY#">
                                                                                           <mutation items="4"></mutation>
                                                                                           <value name="ADD0">
                                                                                             <block type="lists_getIndex" id="WP?9V`Ax1s6W9F7SQ4w,">
                                                                                               <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="+qq.av],CDOw9trIdImN">
                                                                                                   <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                                                                                                 </block>
                                                                                               </value>
                                                                                               <value name="AT">
                                                                                                 <block type="math_arithmetic" id="7e$x}IG.4P.]{Ko~lDhV">
                                                                                                   <field name="OP">ADD</field>
                                                                                                   <value name="A">
                                                                                                     <shadow type="math_number" id="j*v:(mUrk$(#YMHe:$qZ">
                                                                                                       <field name="NUM">1</field>
                                                                                                     </shadow>
                                                                                                     <block type="variables_get" id="31psGI~xsm#hiyRGz@ee">
                                                                                                       <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                     </block>
                                                                                                   </value>
                                                                                                   <value name="B">
                                                                                                     <shadow type="math_number" id="%B@pY2Qg8gU7SI};bF}Y">
                                                                                                       <field name="NUM">1</field>
                                                                                                     </shadow>
                                                                                                     <block type="math_number" id="q~jKb,6G2+P3:9+#^3|[">
                                                                                                       <field name="NUM">1</field>
                                                                                                     </block>
                                                                                                   </value>
                                                                                                 </block>
                                                                                               </value>
                                                                                             </block>
                                                                                           </value>
                                                                                           <value name="ADD1">
                                                                                             <block type="get_value_var" id="HveQcZt3Hj-Jpk=([FCZ">
                                                                                               <field name="ATTR">val</field>
                                                                                               <value name="OID">
                                                                                                 <shadow type="text" id="etr=A:avqF6}d)}k(k~a">
                                                                                                   <field name="TEXT"></field>
                                                                                                 </shadow>
                                                                                                 <block type="lists_getIndex" id="mI2YYTmqK(F9_f9=AWYC">
                                                                                                   <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="|TY^+rk;})ed^N$#p_pd">
                                                                                                       <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                                                                     </block>
                                                                                                   </value>
                                                                                                   <value name="AT">
                                                                                                     <block type="math_arithmetic" id=")GlGXQwpy`Bw+,4KF$NS">
                                                                                                       <field name="OP">ADD</field>
                                                                                                       <value name="A">
                                                                                                         <shadow type="math_number">
                                                                                                           <field name="NUM">1</field>
                                                                                                         </shadow>
                                                                                                         <block type="variables_get" id="raYq/V6]39[Og/x3xMbO">
                                                                                                           <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                         </block>
                                                                                                       </value>
                                                                                                       <value name="B">
                                                                                                         <shadow type="math_number" id="B9Vih563B#//p)c3f@h_">
                                                                                                           <field name="NUM">1</field>
                                                                                                         </shadow>
                                                                                                         <block type="math_number" id="Ua#5_G((!Nr``r(u[pF8">
                                                                                                           <field name="NUM">1</field>
                                                                                                         </block>
                                                                                                       </value>
                                                                                                     </block>
                                                                                                   </value>
                                                                                                 </block>
                                                                                               </value>
                                                                                             </block>
                                                                                           </value>
                                                                                           <value name="ADD2">
                                                                                             <block type="lists_getIndex" id="H^@q`G[tG:Y3:ZT$X8xz">
                                                                                               <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="X(Z@($Xrq#KDw~M_5$9e">
                                                                                                   <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                                                                 </block>
                                                                                               </value>
                                                                                               <value name="AT">
                                                                                                 <block type="math_arithmetic" id="m*jC}O][Xu]bsYMHoGkL">
                                                                                                   <field name="OP">ADD</field>
                                                                                                   <value name="A">
                                                                                                     <shadow type="math_number">
                                                                                                       <field name="NUM">1</field>
                                                                                                     </shadow>
                                                                                                     <block type="variables_get" id="X#.x9LhB|4TZj)sg;I%V">
                                                                                                       <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                     </block>
                                                                                                   </value>
                                                                                                   <value name="B">
                                                                                                     <shadow type="math_number">
                                                                                                       <field name="NUM">1</field>
                                                                                                     </shadow>
                                                                                                     <block type="math_number" id="B8{9AuG,Y8j+jjyj~48p">
                                                                                                       <field name="NUM">1</field>
                                                                                                     </block>
                                                                                                   </value>
                                                                                                 </block>
                                                                                               </value>
                                                                                             </block>
                                                                                           </value>
                                                                                           <value name="ADD3">
                                                                                             <block type="lists_getIndex" id="-6`3u0]GG+3z}}OFm2s@">
                                                                                               <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="Q4av1{lCW1;0F:eUJvP#">
                                                                                                   <field name="VAR" id="zg5`*,uA4%`Fg5L@=CAI">schaltbar</field>
                                                                                                 </block>
                                                                                               </value>
                                                                                               <value name="AT">
                                                                                                 <block type="math_arithmetic" id="X4:(Q~QRgXsV5V-tjo_m">
                                                                                                   <field name="OP">ADD</field>
                                                                                                   <value name="A">
                                                                                                     <shadow type="math_number">
                                                                                                       <field name="NUM">1</field>
                                                                                                     </shadow>
                                                                                                     <block type="variables_get" id="H`5!3Ho?lS9aYT?EHG_y">
                                                                                                       <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                     </block>
                                                                                                   </value>
                                                                                                   <value name="B">
                                                                                                     <shadow type="math_number">
                                                                                                       <field name="NUM">1</field>
                                                                                                     </shadow>
                                                                                                     <block type="math_number" id="z4DRVl9:]dhogQi,BvBN">
                                                                                                       <field name="NUM">1</field>
                                                                                                     </block>
                                                                                                   </value>
                                                                                                 </block>
                                                                                               </value>
                                                                                             </block>
                                                                                           </value>
                                                                                         </block>
                                                                                       </value>
                                                                                     </block>
                                                                                   </statement>
                                                                                   <next>
                                                                                     <block type="debug" id="bx6Y8-8%U,x}ZR}zDMCw" disabled="true">
                                                                                       <field name="Severity">log</field>
                                                                                       <value name="TEXT">
                                                                                         <shadow type="text" id="!yx$lDKS!DgZlryJ)%{j">
                                                                                           <field name="TEXT">test</field>
                                                                                         </shadow>
                                                                                         <block type="variables_get" id="IL]^hG54Ej,lhuXqBi2=">
                                                                                           <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                                                                                         </block>
                                                                                       </value>
                                                                                       <next>
                                                                                         <block type="procedures_callcustomnoreturn" id="1tTT@y+3fd)eq*EKO%`c">
                                                                                           <mutation name="tabelleMit3Werten">
                                                                                             <arg name="myList"></arg>
                                                                                           </mutation>
                                                                                           <value name="ARG0">
                                                                                             <block type="variables_get" id="T3wm-=*hL+H$*f^H0[J9">
                                                                                               <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                                                                                             </block>
                                                                                           </value>
                                                                                         </block>
                                                                                       </next>
                                                                                     </block>
                                                                                   </next>
                                                                                 </block>
                                                                               </next>
                                                                             </block>
                                                                           </next>
                                                                         </block>
                                                                       </next>
                                                                     </block>
                                                                   </statement>
                                                                 </block>
                                                               </next>
                                                             </block>
                                                           </next>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
           </next>
         </block>
         <block type="variables_set" id=")|)[5N_74f=*LR1}F3c$" disabled="true" x="338" y="-587">
           <field name="VAR" id="j!r]d|0)OZ`?7?E5+uc,">dpVIS</field>
           <value name="VALUE">
             <block type="text" id="K.UG[@bhkHB7eOt8aqrI">
               <field name="TEXT">bildergroesse</field>
             </block>
           </value>
         </block>
         <block type="procedures_defcustomnoreturn" id="d+PXd6N1nBTxz}gaM@Co" x="463" y="-263">
           <mutation statements="false">
             <arg name="myList" varid="U3ge^B{?p,jfAdCjS^R`"></arg>
           </mutation>
           <field name="NAME">tabelleMit3Werten</field>
           <field name="SCRIPT">ICAvL0BsaXYtaW4tc2t5IDIwMjAgIDQuMi4tMTg6NDINCg0KDQogLy9ISUVSIFdJUkQgUEZBRCBVTkQgRklMRU5BTUUgREVGSU5JRVJUDQogY29uc3QgcGF0aCA9ICIvaHRtbGV4YW1wbGVzZXR0aW5nLmh0bWwiOyAgICAgICAgICAgICAgICAgICAvL0ZJbGVuYW1lbiBkZWZpbmllcmVuDQogY29uc3QgaG9tZSA9J3Zpcy4wJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vd28gc29sbCBkYXMgZmlsZSBpbSBpb2Jyb2tlci1maWxlLXN5c3RlbSBsaWVnZW4gPyAob2RlciB6LmIgYXVjaCBpcW9udHJvbC5tZXRhKQ0KIGxldCAgIGJyYXVjaGVFaW5GaWxlPWZhbHNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmVpIHRydWUgd2lyZCBlaW4gZmlsZSBnZXNjaHJpZWJlbg0KIGxldCAgIGJyYXVjaGVFaW5WSVNXaWRnZXQ9dHJ1ZTsgICAgICAgICAgICAgICAgICAgICAvLyBiZWkgdHJ1ZSB3aXJkIGVpbiBodG1sLXRhYmVsbGUgaW4gZWluZW4gZHAgZ2VzY2hyaWViZW4gLSBzaWVoZSBuw6RjaHN0ZSB6ZWlsZQ0KIC8vbGV0IGRwVklTPSJjb250cm9sbC1vd24uMC5BQUFURVNULlRlc3RIVE1MIiAgICAgICAgIC8vV0lDSFRJRyB3ZW5uIGJyYXVjaGVFaW5WSVNXaWRnZXQgYXVmIHRydWUgZ2VzZXR6dCAhISAgZHAgenVzw6R0emxpY2ggZsO8ciBWSVMtSFRNTC1CYXNpYy1XaWRnZXQNCiBjb25zdCBmYXJiZVNjaGFsdGVyT049ImxpZ2h0Ymx1ZSIgICAgICAgICAgICAgICAvLyBmYXJiZSBkZXMgc2NoYWx0ZXJzIGbDvHIgT04NCmNvbnN0IGZhcmJlU2NoYWx0ZXJPRkY9ImdyZXkiICAgICAgICAgICAgICAgLy8gZmFyYmUgZGVzIHNjaGFsdGVycyBmw7xyIE9GRg0KDQogLy9sZXQgbXlTY2hlZHVsZT0iICovMjAgKiAqICogKiAqICI7ICAgICAgICAgICAgICAgICAgICAgICAvL2plZGUgbWludXRlICANCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQovL0hJRVIgRElFIFNQQUxURU4gQU5aQUhMIERFRklOSUVSRU4gLSBqZWRlIFNwYWx0ZSBlaW5lbiBXZXJ0IC0gaW4gZGllc2VtIEJlaXNwaWVsIHNpbmQgZXMgMg0KdmFyIGh0bWxGZWxkMT0nU3RhbmRvcnQnOyAgICAgICB2YXIgRmVsZDFsQWxpZ249ImxlZnQiOyAgICAgICAgICAgICAgICAgICAgIC8vIMO8YmVyc2NocmlmdCBUYWJlbGxlbiBTcGFsdGUxIHVuZCAgQXVzcmljaHR1bmcgbGVmdCxyaWdodCBvciBjZW50ZXINCnZhciBodG1sRmVsZDI9J1N0YXR1cyc7ICAgICAgICAgdmFyIEZlbGQybEFsaWduPSJjZW50ZXIiOyAgICAgICAgICAgICAgICAgICAgICAvLyDDvGJlcnNjaHJpZnQgVGFiZWxsZW4gU3BhbHRlMiB1bmQgIEF1c3JpY2h0dW5nIGxlZnQscmlnaHQgb3IgY2VudGVyDQoNCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KDQoNCi8vaGllciB3ZXJkZW4gZGllIHN0eWxlcyBmw7xyIGRpZSB0YWJlbGxlIGRlZmluaWVydA0KLy/DnEJFUlNDSFJJRlQgw5xCRVIgVEFCRUxMRQ0KbGV0ICAgaHRtbFViZXJzY2hyaWZ0PWZhbHNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1pdCDDnGJlcnNjaHJpZnQgw7xiZXIgZGVyIHRhYmVsbGUNCmxldCAgIGh0bWxTaWduYXR1cmU9ZmFsc2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYW5zdGF0dCBkZXIgw5xiZXJzY2docmlmdCBlaW5lIHNpZ25hdHVyZTogLSBrbGVpbmVyIC0gYW5saWVnZW5kDQpjb25zdCBodG1sRmVsZFVlYmVyPSdCYXR0ZXJpZSBadXN0YW5kIFNlbnNvcmVuJzsgICAgICAgICAgICAgIC8vIMOcYmVyc2NocmlmdCB1bmQgU2lnbmF0dXJlDQpjb25zdCBodG1sRmFyYlViZXI9ImJsYWNrIjsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRmFyYmUgZGVyIMOcYmVyc2NocmlmdA0KY29uc3QgaHRtbFNjaHJpZnRXZWl0ZT0ibm9ybWFsIjsgICAgICAgICAgICAgICAgICAgICAgIC8vIGJvbGQsIG5vcm1hbCAtIEZldHRzY2hyaWZ0IGbDvHIgw5xiZXJzY2hyaWZ0DQpjb25zdCBodG1sw5xiZXJGb250R3JvZXNzZT0iMThweCI7ICAgICAgICAgICAgICAgICAgICAgICAvLyBzY2hyaWZ0Z3LDtsOfZSDDvGJlcnNjaHJpZnQNCi8vTUVIUkVSRSBUQUJFTExFTiBORUJFTkVJTkFOREVSDQpsZXQgICBtZWhyZmFjaFRhYmVsbGU9MTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBiaXMgenUgNCBUYWJlbGxlbiB3ZXJkZW4gbmViZW5laW5hbmRlciBnZXNjaHJpZWJlbi0gIHZlcmvDvHJ6dCBkYXMgR2FuemUsIGRhZsO8ciBldHdhcyBicmVpdGVyIC0gTcOWR0xJQ0ggMSwyLDMsb2RlciA0ICEhIQ0KY29uc3QgdHJlbm51bmdzTGluaWU9IjIiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9leHRyYSB0cmVubnVuZ3NsaW5pZSBiZWkgbWVocmZhY2h0YWJlbGxlbiAtIGV2dGwgYXVmIDAgc3RlbGxlbiwgd25uIGh0bWxSYWhtZW5MaW5pZW4gYXVmIG5vbmUgc2luZA0KY29uc3QgZmFyYmV0cmVubnVuZ3NMaW5pZT0id2hpdGUiOw0KY29uc3QgaHRtbEZhcmJad2VpdGVUYWJlbGxlPSJ3aGl0ZSI7ICAgICAgICAgICAgICAgIC8vIEZhcmJlIGRlciDDnGJlcnNjaHJpZnQgYmVpIGplZGVyIDIudGVuIFRhYmVsbGUNCmNvbnN0IGh0bWxGYXJiVGFibGVDb2xvclViZXI9IiMwMDAwMDAiOyAgICAgICAgICAgICAgIC8vIMOcYmVyc2NocmlmdCBpbiBkZXIgdGFiZWxsZSAtIGRlciBlaW56ZWxuZW4gU3BhbHRlbg0KLy/DnEJFUlNDSFJJRlQgU1BBTFRFTg0KY29uc3QgVWViZXJTY2hyaWZ0SMO2aGU9IjM1IjsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vw5xiZXJzY2hyaWZ0IGJla29tbXQgbWVociBSYXVtIC0gZGFydW50ZXIgdW5kIGRhcsO8YmVyIC0gWmVsbGVuaMO2aGUNCmNvbnN0IExpbmllVW50ZXJVZWJlcnNjaHJpZnQ9IjMiOyAgICAgICAgICAgICAgICAgICAvLyBMaW5pZSBudXIgdW50ZXIgU3BhbHRlbsO8YmVyc2NocmlmdCAtIA0KY29uc3QgZmFyYmVMaW5pZVVudGVyVWViZXJzY2hyaWZ0PSJ3aGl0ZSI7DQpjb25zdCBncm9lc3NlVWViZXJzY2hyaWZ0PTE2Ow0KY29uc3QgVWViZXJzY2hyaWZ0U3R5bGU9Im5vcm1hbCIgICAgICAgICAgICAgICAgICAgICAvLyBtw7ZnbGljaCAiYm9sZCINCi8vR0FOWkUgVEFCRUxMRQ0KbGV0IGFic3RhbmRaZWxsZT0iMSI7DQpsZXQgZmFyYmVVbmdlcmFkZVplaWxlbj0iIzAwMDAwMCI7ICAgICAgICAgICAgICAgICAgICAgLy9GYXJiZSBmw7xyIHVuZ2VyYWRlIFplaWxlbmFuemFobCAtIEhpbnRlcmdydW5kIGRlciBTcGFsdGVuw7xiZXJzY2hyaWZ0IGJsZWlidCBiZWkgaHRtbEZhcmJUYWJsZUNvbG9yR3JhZGllbnQxLzINCmxldCBmYXJiZUdlcmFkZVplaWxlbj0iIzE1MTUxNSI7ICAgICAgICAgICAgICAgICAgICAgICAgLy9GYXJiZSBmw7xyIGdlcmFkZSBaZWlsZW5hbnphaGwgLSBIaW50ZXJncnVuZCBkZXIgU3BhbHRlbsO8YmVyc2NocmlmdCBibGVpYnQgYmVpIGh0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50MS8yDQpsZXQgd2VpdGU9IjQwMHB4IjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9XZWl0ZSBkZXIgVGFiZWxsZQ0KbGV0IHplbnRyaWVydD10cnVlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9nYW56ZSB0YWJlbGxlIHplbnRyaWVydA0KY29uc3QgYmFja2dyb3VuZEFsbD0iIzAwMDAwMCI7ICAgICAgICAgICAgICAgICAgICAgICAgLy9IaW50ZXJncnVuZCBmw7xyIGRpZSBnYW56ZSBTZWl0ZSAtIGbDvHIgZGlyZWt0ZW4gYXVmcnVmIG9kZXIgaXFvbnRyb2wgc2ljaHRiZXIgLSBrZWluZSBhdXN3aXJrdW5nIGF1ZiB2aXMtd2lkZ2V0DQpjb25zdCBodG1sU2NocmlmdGFydD0iSGVsdmV0aWNhIjsNCmNvbnN0IGh0bWxTY2hyaWZ0Z3JvZXNzZT0iMjJweCI7DQovL0ZFTERFUiBVTkQgUkFITUVODQpsZXQgICBVZWJlcnNjaHJpZnRTcGFsdGVuPXRydWU7ICAgICAgICAgICAgICAgIC8vIGVpbi0gb2RlciBhdXNibGVuZGVuIGRlciBzcGF0bGVuLcO8YmVyc2NocmlmdGVuDQpjb25zdCBodG1sRmFyYkZlbGRlcnNjaHJpZnQ9IiNCREJEQkQiOyAgICAgICAgICAgICAgICAgIC8vIFNjaHJpZnRGYXJiZSBkZXIgRmVsZGVyDQpjb25zdCBodG1sRmFyYkZlbGRlcnNjaHJpZnQyPSIjRDhEOEQ4IjsgICAgICAgICAgICAgICAgIC8vIFNjaHJpZnRGYXJiZSBkZXIgRmVsZGVyIGbDvHIgamVkZSAydGUgVGFiZWxsZQ0KY29uc3QgaHRtbEZhcmJUYWJsZUNvbG9yR3JhZGllbnQxPSIjQ0REMTYzIjsgICAgICAgICAgLy8gIEdyYWRpZW50IC0gSGludGVyZ3J1bmQgZGVyIFRhYmVsbGUgLSBWZXJsYXVmZmFyYmUNCmNvbnN0IGh0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50Mj0iI0NERDE2MyI7ICAgICAgICAgIC8vICBHcmFkaWVudCAtIEhpbnRlcmdydW5kIGRlciBUYWJlbGxlIC0gaXN0IGRpZXNlciBXZXJ0IGdsZWljaCBHcmFkaWVudDEgZ2lidCBlcyBrZWluZW4gdmVybGF1Zg0KY29uc3QgaHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yPSJncmV5IjsgICAgICAgICAgICAgLy8gRmFyYmUgZGVzIFJhaG1lbiAtIGlzIHRkaWVzZXIgZ2xlaWNoIGRlbiBncmFkaWVudGVuLCBzaW5kIGRpZSByYWhtZW4gdW5zaWNodGJhcg0KbGV0IGh0bWxSYWhtZW5MaW5pZW49Im5vbmUiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGb3JtYXQgZsO8ciBSYWhtZW46IE3DlkdMSUNIOiAibm9uZSIgb2RlciAiYWxsIiBvZGVyICJjb2xzIiBvZGVyICJyb3dzIg0KY29uc3QgaHRtbFNwYWx0ZTFXZWl0ZT0iYXV0byI7ICAgICAgICAgICAgICAgICAgIC8vICBXZWl0ZSBkZXIgZXJzdGVuIGJlaWRlbiAgU3BhbHRlbiBvZGVyIHouYi4gMTE1cHgNCg0KLy8gSElFUiBOSUNIVFMgIMOETkRFUk4NCg0KbGV0IGJvcmRlckhlbHBCb3R0dW07DQpsZXQgYm9yZGVySGVscFJpZ2h0Ow0KbGV0IGh0bWxjZW50ZXJIZWxwOw0KbGV0IGh0bWxjZW50ZXJIZWxwMjsNCg0KaWYoaHRtbFJhaG1lbkxpbmllbj09InJvd3MiKSB7Ym9yZGVySGVscEJvdHR1bT0xO2JvcmRlckhlbHBSaWdodD0wO30NCmlmKGh0bWxSYWhtZW5MaW5pZW49PSJjb2xzIikge2JvcmRlckhlbHBCb3R0dW09MDtib3JkZXJIZWxwUmlnaHQ9MTt9DQppZihodG1sUmFobWVuTGluaWVuPT0ibm9uZSIpIHtib3JkZXJIZWxwQm90dHVtPTA7Ym9yZGVySGVscFJpZ2h0PTA7fQ0KaWYoaHRtbFJhaG1lbkxpbmllbj09ImFsbCIpICB7Ym9yZGVySGVscEJvdHR1bT0xO2JvcmRlckhlbHBSaWdodD0xO30NCnplbnRyaWVydCA/IGh0bWxjZW50ZXJIZWxwPSJhdXRvIiA6IGh0bWxjZW50ZXJIZWxwPSJsZWZ0IjsNCnplbnRyaWVydCA/IGh0bWxjZW50ZXJIZWxwMj0iY2VudGVyIiA6IGh0bWxjZW50ZXJIZWxwMj0ibGVmdCI7DQoNCg0KY29uc3QgaHRtbFplbnRyaWVydD0nPGNlbnRlcj4nDQpjb25zdCBodG1sU3RhcnQ9ICAgICI8IURPQ1RZUEUgaHRtbD48aHRtbCBsYW5nPVwiZGVcIj48aGVhZD48dGl0bGU+Vm9ybGFnZTwvdGl0bGU+PG1ldGEgaHR0cC1lcXVpdj1cImNvbnRlbnQtdHlwZVwiIGNvbnRlbnQ9XCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLThcIj4iKw0KICAgICAgICAgICAgICAgICAgIjxzdHlsZT4gKiB7ICBtYXJnaW46IDA7fSBib2R5IHtiYWNrZ3JvdW5kLWNvbG9yOiAiK2JhY2tncm91bmRBbGwrIjsgbWFyZ2luOiAwIGF1dG87ICB9IisNCiAgICAgICAgICAgICAgICAgICIgcCB7cGFkZGluZy10b3A6IDEwcHg7IHBhZGRpbmctYm90dG9tOiAxMHB4OyB0ZXh0LWFsaWduOiAiK2h0bWxjZW50ZXJIZWxwMisifSIrDQogICAgICAgICAgICAgICAgIC8vICIgZGl2IHsgbWFyZ2luOiAwIGF1dG87ICBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvO30iKw0KICAgICAgICAgICAgICAgICAgIiB0ZCB7IHBhZGRpbmc6IithYnN0YW5kWmVsbGUrInB4OyBib3JkZXI6MHB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7ICBib3JkZXItcmlnaHQ6Iitib3JkZXJIZWxwUmlnaHQrInB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7Ym9yZGVyLWJvdHRvbToiK2JvcmRlckhlbHBCb3R0dW0rInB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7fSIrIA0KICAgICAgICAgICAgICAgICAgIiB0YWJsZSB7IHdpZHRoOiAiK3dlaXRlKyI7ICBtYXJnaW46IDAgIitodG1sY2VudGVySGVscCsiOyBib3JkZXI6MXB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7IGJvcmRlci1zcGFjaW5nPVwiIithYnN0YW5kWmVsbGUrIjBweFwiIDsgfSIrICAgLy8gbWFyZ2luIG1hY2h0IGNlbnRlcg0KICAgICAgICAgICAgICAgICAgInRkOm50aC1jaGlsZCgxKSB7d2lkdGg6ICIraHRtbFNwYWx0ZTFXZWl0ZSsifSIrInRkOm50aC1jaGlsZCgyKSB7d2lkdGg6IitodG1sU3BhbHRlMVdlaXRlKyJ9IisNCiAgICAgICAgICAgICAgICAgICIgPC9zdHlsZT48L2hlYWQ+PGJvZHk+IDxkaXY+IjsNCi8vY29uc3QgaHRtbFVlYmVyPSAgICAiPHAgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiVWJlcisiOyBmb250LWZhbWlseToiK2h0bWxTY2hyaWZ0YXJ0KyI7IGZvbnQtd2VpZ2h0OiBib2xkXCI+IitodG1sRmVsZFVlYmVyKyI8L3A+IjsgICAgICAgICAgICAgICAgICAgIA0KY29uc3QgaHRtbFRhYlN0eWxlPSAiPHRhYmxlIGJvcmRlcmNvbG9yPVwiIitodG1sRmFyYlRhYmxlQm9yZGVyQ29sb3IrIlwiIGJvcmRlcj1cIjJweFwiIGNlbGxzcGFjaW5nPVwiIithYnN0YW5kWmVsbGUrIlwiIGNlbGxwYWRkaW5nPVwiIithYnN0YW5kWmVsbGUrIlwiIHdpZHRoPVwiIit3ZWl0ZSsiXCIgcnVsZXM9XCIiK2h0bWxSYWhtZW5MaW5pZW4rIlwiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQrIjsgIGZvbnQtc2l6ZToiK2h0bWxTY2hyaWZ0Z3JvZXNzZSsNCiAgICAgICAgICAgICAgICAgICAgICI7IGZvbnQtZmFtaWx5OiIraHRtbFNjaHJpZnRhcnQrIjtiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDJkZWcsIitodG1sRmFyYlRhYmxlQ29sb3JHcmFkaWVudDIrIiwiK2h0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50MSsiKTtcIj4iOw0KY29uc3QgaHRtbFRhYlVlYmVyMT0iPHRyIGhlaWdodD1cIiIrVWViZXJTY2hyaWZ0SMO2aGUrIlwiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYlRhYmxlQ29sb3JVYmVyKyI7IGZvbnQtc2l6ZTogIitncm9lc3NlVWViZXJzY2hyaWZ0KyJweDsgZm9udC13ZWlnaHQ6ICIrVWViZXJzY2hyaWZ0U3R5bGUrIiA7ICBib3JkZXItYm90dG9tOiAiK0xpbmllVW50ZXJVZWJlcnNjaHJpZnQrInB4IHNvbGlkICIrZmFyYmVMaW5pZVVudGVyVWViZXJzY2hyaWZ0KyIgXCI+IjsNCmNvbnN0IGh0bWxUYWJVZWJlcjM9IjwvdHI+IjsNCg0KY29uc3QgYnV0dG9uU2NyaXB0ID0gICc8c2NyaXB0PiBmdW5jdGlvbiBzZXRPbkRibENsaWNrQ3VzdG9tKCBteXZhbHVlICkgewl2YXIgU2VsZiA9IHRoaXM7IHZhciBvYmpJRCA9IG15dmFsdWU7CVNlbGYuc2VydkNvbm4uZ2V0U3RhdGVzKG9iaklELCAoZXJyb3IsIHN0YXRlcykgPT4geyAgY29uc29sZS5sb2coc3RhdGVzKTsgIFNlbGYuc2VydkNvbm4uc2V0U3RhdGUob2JqSUQsICFzdGF0ZXNbb2JqSURdLnZhbCk7IH0pOyB9IDwvc2NyaXB0PicNCg0KLy8vL05JQ0hUUyDDhE5ERVJOICAtIGFiaMOkbmdpZyB2b24gZGVuIG9iZW4gZGVmaW5pZXJ0ZW4gX1NwYWx0ZW4gLSBpbiBkaWVzZW0gQmVpc3BpZWwgc2luZCBlcyAyDQoNCnZhciBodG1sVGFiVWViZXIyPSI8dGQgd2lkdGg9IitodG1sU3BhbHRlMVdlaXRlKyIgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIraHRtbEZlbGQxKyImZW5zcDs8L3RkPjx0ZCB3aWR0aD0iK2h0bWxTcGFsdGUxV2VpdGUrIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7IitodG1sRmVsZDIrIiZlbnNwOzwvdGQ+IjsNCnZhciBodG1sVGFiVWViZXIyXzE9Ijx0ZCB3aWR0aD0iK2h0bWxTcGFsdGUxV2VpdGUrIiBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiWndlaXRlVGFiZWxsZSsiXCI+JmVuc3A7IitodG1sRmVsZDErIiZlbnNwOzwvdGQ+PHRkIHdpZHRoPSIraHRtbFNwYWx0ZTFXZWl0ZSsiIGFsaWduPSIrRmVsZDJsQWxpZ24rIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJad2VpdGVUYWJlbGxlKyJcIj4mZW5zcDsiK2h0bWxGZWxkMisNCiAgICAgICAgICAgICAgICAgICAgIiZlbnNwOzwvdGQ+IjsNCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogDQoNCnZhciBodG1sT3V0PSIiOw0KdmFyIG1peDsNCnZhciBjb3VudGVyOw0KdmFyIHZhbDE7ICB2YXIgdmFsMDsNCnZhciBodG1sVGFiVWViZXI9IiI7DQoNCmZ1bmN0aW9uIHdyaXRlSFRNTCgpew0KDQoNCg0KaHRtbE91dD0iIjsNCg0KY291bnRlcj0tMTsNCmh0bWxUYWJVZWJlcj0iIjsNCnN3aXRjaCAobWVocmZhY2hUYWJlbGxlKSB7IA0KICAgIGNhc2UgMTogaHRtbFRhYlVlYmVyPWh0bWxUYWJVZWJlcjEraHRtbFRhYlVlYmVyMitodG1sVGFiVWViZXIzOyAgYnJlYWs7DQogICAgY2FzZSAyOiBodG1sVGFiVWViZXI9aHRtbFRhYlVlYmVyMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIzOyBicmVhazsNCiAgICBjYXNlIDM6IGh0bWxUYWJVZWJlcj1odG1sVGFiVWViZXIxK2h0bWxUYWJVZWJlcjIraHRtbFRhYlVlYmVyMl8xK2h0bWxUYWJVZWJlcjIraHRtbFRhYlVlYmVyMzsgYnJlYWs7DQogICAgY2FzZSA0OiBodG1sVGFiVWViZXI9aHRtbFRhYlVlYmVyMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIzOyBicmVhazsNCn07ICAgIA0KaWYgKCFVZWJlcnNjaHJpZnRTcGFsdGVuKSB7aHRtbFRhYlVlYmVyPSIifQ0KDQogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIC8vLS0tLS0tLS0taGllciBrb21tdCBldXJlIHNjaGxlaWZlIHJlaW4gY291bnRlcisrLCB0YWJlbGxlQmluZCgpIHVuZCB0YWJlbGxlRmluaXNoKCkgbcO8c3NlbiBzbyBpbnRlZ3JpZXJ0IGJsZWliZW4gISEhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogLy8tLS0tLS0tLS1hbGxlIHZhbHggd2VydGUgbcO8c3NlbiB2b24gZXVjaCBiZXN0aW1tdCB3ZXJkZW4gLSB2YWwwLHZhbDEgISEhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQogIGZvciAodmFyIHg9MDt4PG15TGlzdC5sZW5ndGg7eCsrKXsNCiAgICAgIGNvdW50ZXIrKzsNCiAgICAgIGlmKG15TGlzdFt4XVsxXSE9bnVsbCl7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsMCAgPSBteUxpc3RbeF1bMF07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsMSAgPSBteUxpc3RbeF1bMV0NCiAgICAvLyBsb2codmFsMCkNCiAgICAgICAgICAgICAgICAgIGxldCB2YWxCdXR0b249bXlMaXN0W3hdWzJdDQogICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgIGlmIChteUxpc3RbeF1bM10pew0KICAgICAgICAgICAgICAgICAgdmFsMSA/IHZhbDE9IjxidXR0b24gc3R5bGVcPVwiYm9yZGVyOm5vbmVcOyBiYWNrZ3JvdW5kLWNvbG9yXDp0cmFuc3BhcmVudFw7IGNvbG9yXDp3aGl0ZVw7IGZvbnRcLXNpemVcOjFlbVw7IHRleHRcLWFsaWduOmxlZnRcIiB2YWx1ZT1cInRvZ2dsZVwiIG9uY2xpY2s9XCJzZXRPbkRibENsaWNrQ3VzdG9tXChcJyIrdmFsQnV0dG9uKyJcJylcIj4iKyI8aW1nIHNyYz0iK3N5bWJvbFN3aXRjaE9OICsiIGhlaWdodD1cIiIrYmlsZGdyb2Vzc2VIb2NoKyJcIiB3aWR0aD1cIiIrYmlsZGdyb2Vzc2VCcmVpdCsiXCI+IisgIjwvYnV0dG9uPiAiIDoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbDE9IjxidXR0b24gc3R5bGVcPVwiYm9yZGVyOm5vbmVcOyBiYWNrZ3JvdW5kLWNvbG9yXDp0cmFuc3BhcmVudFw7IGNvbG9yXDp3aGl0ZVw7IGZvbnRcLXNpemVcOjFlbVw7IHRleHRcLWFsaWduOmxlZnRcIiB2YWx1ZT1cInRvZ2dsZVwiIG9uY2xpY2s9XCJzZXRPbkRibENsaWNrQ3VzdG9tXChcJyIrdmFsQnV0dG9uKyJcJylcIj4iKyI8aW1nIHNyYz0iK3N5bWJvbFN3aXRjaE9GRiArIiBoZWlnaHQ9XCIiK2JpbGRncm9lc3NlSG9jaCsiXCIgd2lkdGg9XCIiK2JpbGRncm9lc3NlQnJlaXQrIlwiPiIrIjwvYnV0dG9uPiAiOw0KICAgICAgICAgICAgICAgICAgfSBlbHNlew0KICAgICAgICAgICAgICAgICAgICAgdmFsMSA/IHZhbDE9IjxpbWcgc3JjPSIrc3ltYm9sU3dpdGNoT04gKyIgaGVpZ2h0PVwiIitiaWxkZ3JvZXNzZUhvY2grIlwiIHdpZHRoPVwiIitiaWxkZ3JvZXNzZUJyZWl0KyJcIj4iICA6IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbDE9IjxpbWcgc3JjPSIrc3ltYm9sU3dpdGNoT0ZGICsiIGhlaWdodD1cIiIrYmlsZGdyb2Vzc2VIb2NoKyJcIiB3aWR0aD1cIiIrYmlsZGdyb2Vzc2VCcmVpdCsiXCI+IiANCiAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgaWYgKHZhbDE9PWZhbHNlKSB7dmFsMT0i4p2MIn0gZWxzZXt2YWwxPSLinIUifSAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJlbGxlQmluZCgpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07IC8vU2NobGVpZmVuIEVuZGUgLSBqZSBuYWNoIHNjaGxlaWZlbmFydCBtdXNzIGhpZXIgZXR3YXMgZ2XDpG5kZXJ0IHdlcmRlbiAhISEhISEhISENCg0KfSB0YWJlbGxlRmluaXNoKCk7DQogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAgDQoNCiAgICAgIC8vIEFCIEhJRVIgTklDSFRTIMOETkRFUk4gLSB0YWJlbGxlIGZlcnRpZ3N0ZWxsZW4NCiAgICAgIA0KfSAvLyBmdW5jdGlvbiBlbmRlDQogDQogLy9NQUlOOg0KICANCg0KIHdyaXRlSFRNTCgpOw0KDQogZnVuY3Rpb24gdGFiZWxsZUJpbmQoKXsNCiAgICAgICAgc3dpdGNoIChtZWhyZmFjaFRhYmVsbGUpIHsgIA0KICAgICAgICAgIGNhc2UgMTogIGlmKGNvdW50ZXIlMj09MCkgICAgICAgICB7ICAgaHRtbE91dD1odG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVHZXJhZGVaZWlsZW4rIlwiPjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPjwvdHI+IjsgYnJlYWs7ICB9IGVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAgIGh0bWxPdXQ9aHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlVW5nZXJhZGVaZWlsZW4rIlwiPjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPjwvdHI+IjsgYnJlYWs7ICB9DQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgICAgICAgICBjYXNlIDI6ICBpZihjb3VudGVyJTQ9PTApew0KICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlMj09MCkgIHtodG1sT3V0ID0gaHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlR2VyYWRlWmVpbGVuKyJcIiA+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI7XCJhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7IH0gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge2h0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkICBhbGlnbj0iK0ZlbGQybEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iO30gYnJlYWs7DQogICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgICAgaWYoY291bnRlciUyPT0wKSAge2h0bWxPdXQgPSBodG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVVbmdlcmFkZVplaWxlbisiXCI+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyI7XCIgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iOyB9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtodG1sT3V0ID0gaHRtbE91dCsiPHRkICBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCIgY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkICBhbGlnbj0iK0ZlbGQybEFsaWduKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iO30gYnJlYWs7fQ0KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAgICAgICAgICAgICAgDQogICAgICAgICAgY2FzZSAzOiBpZihjb3VudGVyJTI9PTApICAgew0KICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgaWYoY291bnRlciUzPT0wICkgIHtodG1sT3V0ID0gaHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlR2VyYWRlWmVpbGVuKyJcIj48dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhcmJldHJlbm51bmdzTGluaWUrIjtcIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7IH0gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgeyBpZihjb3VudGVyJTM9PTEgKSAgeyBodG1sT3V0ID0gaHRtbE91dCsiPHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCAgYWxpZ249IitGZWxkMmxBbGlnbisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHN0eWxlPVwiYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIjtjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iO30gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgICB7aHRtbE91dCA9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPjwvdHI+Ijt9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBicmVhazsgfWVsc2V7DQogICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTM9PTAgKSAge2h0bWxPdXQgPSBodG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVVbmdlcmFkZVplaWxlbisiXCI+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYXJiZXRyZW5udW5nc0xpbmllKyI7XCIgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iOyB9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsgaWYoY291bnRlciUzPT0xICkgIHsgaHRtbE91dCA9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSIrRmVsZDJsQWxpZ24rDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBzdHlsZT1cImJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyI7Y29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+Ijt9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgICAge2h0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD48L3RyPiI7fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gYnJlYWs7ICB9ICAgICAgICAgICAgICAgICAgICAgICANCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSANCiAgICAgICAgICBjYXNlIDQ6IC8vY291bnRlcj1jb3VudGVyKzggDQogICAgICAgICAgaWYoY291bnRlciU4PT0wKSAgIHsNCiAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTQ9PTApICB7aHRtbE91dCA9IGh0bWxPdXQrIjx0ciBiZ2NvbG9yPVwiIitmYXJiZUdlcmFkZVplaWxlbisiXCI+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYXJiZXRyZW5udW5nc0xpbmllKyI7XCIgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iOyB9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7aWYoY291bnRlciU0PT0xICkgIHsgaHRtbE91dCA9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSIrRmVsZDJsQWxpZ24rDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7fSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlICAgIHtpZihjb3VudGVyJTQ9PTMpICB7IGh0bWxPdXQ9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSIrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZlbGQybEFsaWduKyIgc3R5bGU9XCJib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiOyBjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iO30gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgICB7aHRtbE91dCA9IGh0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgK2ZhcmJldHJlbm51bmdzTGluaWUrIjtcIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7fX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGJyZWFrO31lbHNlew0KICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlND09MCkgIHtodG1sT3V0ID0gaHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlVW5nZXJhZGVaZWlsZW4rIlwiPjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFyYmV0cmVubnVuZ3NMaW5pZSsiO1wiIGFsaWduPSIrRmVsZDJsQWxpZ24rIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+IjsgfSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge2lmKGNvdW50ZXIlND09MSApICB7IGh0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkICBhbGlnbj0iK0ZlbGQybEFsaWduKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgc3R5bGU9XCJib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiO2NvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7fSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlICAgIHtpZihjb3VudGVyJTQ9PTMpICB7IGh0bWxPdXQ9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgK0ZlbGQybEFsaWduKyIgc3R5bGU9XCIgY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iO30gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgICB7aHRtbE91dCA9IGh0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhcmJldHJlbm51bmdzTGluaWUrIjtcIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7fX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ICBicmVhazsgICB9ICAgICAgICAgICAgICAgICAgICAgDQoNCiAgICAgIH0gLy9zd2l0Y2ggZW5kZQ0KDQogfQ0KDQogZnVuY3Rpb24gdGFiZWxsZUZpbmlzaCgpIHsNCg0KICAgICAgICBzd2l0Y2ggKG1laHJmYWNoVGFiZWxsZSkgeyAgDQogICAgICAgICAgY2FzZSAxOiAgICBicmVhazsNCiAgICAgICAgICBjYXNlIDI6ICAgIGlmKGNvdW50ZXIlMj09MCkgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAnPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48L3RyPicpOyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICBjYXNlIDM6ICAgIGlmKGNvdW50ZXIlMz09MikgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAiPC90ZD48L3RyPiIpOw0KICAgICAgICAgICAgICAgICAgICAgaWYoY291bnRlciUzPT0xKSAgaHRtbE91dCA9IGh0bWxPdXQucmVwbGFjZSgvPFwvdGQ+JC8sICAnPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48L3RyPicpOyAgICAgICANCiAgICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlMz09MCkgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAiPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIlwiPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PC90cj4iKTsNCiAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgIGNhc2UgNDogICAgaWYoY291bnRlciU0PT0zKSAgaHRtbE91dCA9IGh0bWxPdXQucmVwbGFjZSgvPFwvdGQ+JC8sICI8L3RkPjwvdHI+Iik7DQogICAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTQ9PTIpICBodG1sT3V0ID0gaHRtbE91dC5yZXBsYWNlKC88XC90ZD4kLywgIjwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PC90cj4iKTsNCiAgICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlND09MSkgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAiPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIlwiPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PC90cj4iKTsgICAgDQogICAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTQ9PTApICBodG1sT3V0ID0gaHRtbE91dC5yZXBsYWNlKC88XC90ZD4kLywgIjwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyJcIj4mZW5zcDs8L3RkPjx0ZD4mZW5zcDs8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiXCI+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48L3RyPiIpOyAgIA0KICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOyB9DQogICAgICAgICAgIHZhciBodG1sVWViZXI9ICAgICI8cCBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJVYmVyKyI7IGZvbnQtZmFtaWx5OiIraHRtbFNjaHJpZnRhcnQrIjsgZm9udC1zaXplOiAiK2h0bWzDnGJlckZvbnRHcm9lc3NlKyI7IGZvbnQtd2VpZ2h0OiIraHRtbFNjaHJpZnRXZWl0ZSsgIlwiPiIraHRtbEZlbGRVZWJlcisiJmVuc3A7JmVuc3A7TGFzdCBVcGRhdGU6ICIrZm9ybWF0RGF0ZShnZXREYXRlT2JqZWN0KChwYXJzZUZsb2F0KChuZXcgRGF0ZSgpLmdldFRpbWUoKSkpKSksICJTUzptbTpzcyIpOysiPC9wPiI7IA0KICAgICAgICB2YXIgaHRtbFVudGVyPSAiPGRpdiAgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiVWJlcisiOyBmb250LWZhbWlseToiK2h0bWxTY2hyaWZ0YXJ0KyI7IGZvbnQtc2l6ZTogNzAlOyB0ZXh0LWFsaWduOiByaWdodDtcIiA+IitodG1sRmVsZFVlYmVyKyImZW5zcDsmZW5zcDtMYXN0IFVwZGF0ZTogIitmb3JtYXREYXRlKGdldERhdGVPYmplY3QoKHBhcnNlRmxvYXQoKG5ldyBEYXRlKCkuZ2V0VGltZSgpKSkpKSwgIlNTOm1tOnNzIik7KyI8L2Rpdj4iDQogICAgICAgICANCiAgICAgICAgIGlmICghaHRtbFNpZ25hdHVyZSkgaHRtbFVudGVyPSIiOw0KICAgICAgICAgICAvL0F1c2dhYmUgw7xiZXIgVklTIGh0bWwgd2lkZ2V0IC0gdGFiZWxsZSBpbiBkYXRlbnB1bmt0IHNjaHJlaWJlbiAtIGh0bWwgdGFiZWxsZSBvaG5lIGh0bWwgaGVhZGVyIHVuZCBib2R5DQogICAgICAgICAgICB2YXIgaHRtbE91dFZJUz0iIjsNCiAgICAgICAgICAvLyAgaHRtbFViZXJzY2hyaWZ0ID8gaHRtbE91dFZJUz1odG1sVWViZXIraHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0KyI8L3RhYmxlPiIgOiBodG1sT3V0VklTPWh0bWxUYWJTdHlsZStodG1sVGFiVWViZXIraHRtbE91dCsiPC90YWJsZT4iOw0KICAgICAgICAgICAgIGlmIChodG1sVWJlcnNjaHJpZnQpIA0KICAgICAgICAgICAgICAgICB7IHplbnRyaWVydCA/IGh0bWxPdXRWSVM9aHRtbFplbnRyaWVydCtodG1sVWViZXIraHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0KyI8L3RhYmxlPiIraHRtbFVudGVyKyBidXR0b25TY3JpcHQgOiBodG1sT3V0VklTPWh0bWxVZWJlcitodG1sVGFiU3R5bGUraHRtbFRhYlVlYmVyK2h0bWxPdXQrIjwvdGFibGU+IitodG1sVW50ZXIrIGJ1dHRvblNjcmlwdCA7DQoNCiAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgemVudHJpZXJ0ID8gIGh0bWxPdXRWSVM9aHRtbFplbnRyaWVydCtodG1sVGFiU3R5bGUraHRtbFRhYlVlYmVyK2h0bWxPdXQrIjwvdGFibGU+IitodG1sVW50ZXIrIGJ1dHRvblNjcmlwdCA6ICBodG1sT3V0VklTPWh0bWxUYWJTdHlsZStodG1sVGFiVWViZXIraHRtbE91dCsiPC90YWJsZT4iK2h0bWxVbnRlcisgYnV0dG9uU2NyaXB0Ow0KDQogICAgICAgICAgICAgICAgICB9DQoNCiAgIC8vIGxvZygiYmluIHJhdXMgYXVzIHRhYmVsbGVCaW5kIik7DQogICAgICAgICAgICBpZiAoYnJhdWNoZUVpblZJU1dpZGdldCkgc2V0U3RhdGUoZHBWSVMsIGh0bWxPdXRWSVMgKTsNCg0KICB2YXIgaHRtbFVudGVyPSAiPGRpdiAgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiVWJlcisiOyBmb250LWZhbWlseToiK2h0bWxTY2hyaWZ0YXJ0KyI7IGZvbnQtc2l6ZTogODAlOyAgdGV4dC1hbGlnbjogY2VudGVyOyBcIiA+IitodG1sRmVsZFVlYmVyKyImZW5zcDsmZW5zcDtMYXN0IFVwZGF0ZTogIitmb3JtYXREYXRlKGdldERhdGVPYmplY3QoKHBhcnNlRmxvYXQoKG5ldyBEYXRlKCkuZ2V0VGltZSgpKSkpKSwgIlNTOm1tOnNzIik7KyI8L2Rpdj4iDQogDQogIGlmICghaHRtbFNpZ25hdHVyZSkgaHRtbFVudGVyPSIiOw0KICB2YXIgaHRtbEVuZD0iPC90YWJsZT4iK2h0bWxVbnRlcisiPC9kaXY+PC9ib2R5PiI7DQogIC8vbWl0IG9kZXIgb2huZSDDvGJlcnNjaHJpZnQgLSB6ZW50cmllcnQgb2RlciBsaW5rcw0KIGh0bWxVYmVyc2NocmlmdCA/IGh0bWxPdXQ9aHRtbFN0YXJ0K2h0bWxVZWJlcitodG1sVGFiU3R5bGUraHRtbFRhYlVlYmVyK2h0bWxPdXQraHRtbEVuZCArIGJ1dHRvblNjcmlwdDogaHRtbE91dD1odG1sU3RhcnQraHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0K2h0bWxFbmQrIGJ1dHRvblNjcmlwdDsNCiAgLy9sb2coaHRtbE91dCk7DQoNCg0KIH0NCg0K</field>
           <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
         </block>
        </xml>
        

        1 Reply Last reply Reply Quote 1
        • liv-in-sky
          liv-in-sky @Wszene last edited by liv-in-sky

          @wszene

          hier mal die settings für die tabelle für deine vis

          • weite(breite) der tabelle - damit sie immer gleich breit wird
          • überschriften - hintergrundfarbe
          • schriftgröße für hochauflösende

          Image 9.png

          Wszene 1 Reply Last reply Reply Quote 0
          • Wszene
            Wszene @liv-in-sky last edited by

            @liv-in-sky

            Ich weiss garnicht wie ich dir danken soll
            Es funktioniert perfekt

            Aber eine Frage habe ich noch (zumindest bist jetzt 😁 )
            Die Reihenfolge
            So ist Sie im Blockly
            Bildschirmfoto 2021-01-24 um 17.01.38.png
            und so in der VIS
            Bildschirmfoto 2021-01-24 um 17.01.51.png

            Warum ist das so?

            liv-in-sky 2 Replies Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @Wszene last edited by liv-in-sky

              @wszene

              oh - die sortierung habe ich auch noch vergessen.

              die "umdrehung" - an roten pfeilen anpassen

              teste mal das:

              
              

              1 Reply Last reply Reply Quote 0
              • liv-in-sky
                liv-in-sky @Wszene last edited by

                @wszene (sorry hat etwas gedauert - blockly muss ich erst wieder lernen 😞 - mache schleifen und so eigentlich nur in js)

                die "umdrehung"

                teste mal das, da stimmt die reihenfolge:

                <block xmlns="https://developers.google.com/blockly/xml" type="controls_for" id="JNNaZlB+?Z04HOx2Gu(?" x="-216.0943603515625" y="12.84906005859375">
                 <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                 <value name="FROM">
                   <shadow type="math_number" id="WrG3EpK=zNPCy+mYu[+@">
                     <field name="NUM">0</field>
                   </shadow>
                   <block type="math_number" id="G9ch35ui-=)nUvTqVCOT">
                     <field name="NUM">0</field>
                   </block>
                 </value>
                 <value name="TO">
                   <shadow type="math_number" id="_/06^]%/`/nYCqXnIr%]">
                     <field name="NUM">10</field>
                   </shadow>
                   <block type="math_arithmetic" id="3_Kfs9BtIWPdu;w[c{KZ">
                     <field name="OP">MINUS</field>
                     <value name="A">
                       <shadow type="math_number" id="NQ%A+vSNxHXGUM,]d78|">
                         <field name="NUM">1</field>
                       </shadow>
                       <block type="lists_length" id="h+EEOFLY?/C$y6;7liOQ">
                         <value name="VALUE">
                           <block type="variables_get" id="{QW1kH)96}J?c@l:ZX@N">
                             <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <value name="B">
                       <shadow type="math_number" id="_2$*hu8I]a*4FLcXDq6P">
                         <field name="NUM">1</field>
                       </shadow>
                       <block type="math_number" id="PQG~7f)%K=+n8FY@nTNg">
                         <field name="NUM">1</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <value name="BY">
                   <shadow type="math_number" id="7;%P*{n!b.1Xz)aAfk#m">
                     <field name="NUM">1</field>
                   </shadow>
                   <block type="math_number" id="3ZVDn%UWJCgghp=ke5_$">
                     <field name="NUM">1</field>
                   </block>
                 </value>
                 <statement name="DO">
                   <block type="lists_setIndex" id="-zUiNM(}BsoQ].Hu.|mx">
                     <mutation at="true"></mutation>
                     <field name="MODE">SET</field>
                     <field name="WHERE">FROM_START</field>
                     <value name="LIST">
                       <block type="variables_get" id="Q0Hct8=ken4m!!W]js)U">
                         <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                       </block>
                     </value>
                     <value name="AT">
                       <block type="math_arithmetic" id="XfsC3YCPWv`.2L,?[}DO">
                         <field name="OP">ADD</field>
                         <value name="A">
                           <shadow type="math_number">
                             <field name="NUM">1</field>
                           </shadow>
                           <block type="variables_get" id="yff.r|]h@7J[7mVX9qps">
                             <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                           </block>
                         </value>
                         <value name="B">
                           <shadow type="math_number">
                             <field name="NUM">1</field>
                           </shadow>
                           <block type="math_number" id="};+tby,HZtiP=yo4B?T$">
                             <field name="NUM">1</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <value name="TO">
                       <block type="lists_create_with" id="6a@[p]s)BEL%k0#L3dY#">
                         <mutation items="4"></mutation>
                         <value name="ADD0">
                           <block type="lists_getIndex" id="WP?9V`Ax1s6W9F7SQ4w,">
                             <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="+qq.av],CDOw9trIdImN">
                                 <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                               </block>
                             </value>
                             <value name="AT">
                               <block type="math_arithmetic" id="(omAgkYl:o0+@,=9lJ4J">
                                 <field name="OP">ADD</field>
                                 <value name="A">
                                   <shadow type="math_number">
                                     <field name="NUM">1</field>
                                   </shadow>
                                   <block type="variables_get" id="VB.*bdT*60.t/HnVu[Ki">
                                     <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <shadow type="math_number">
                                     <field name="NUM">1</field>
                                   </shadow>
                                   <block type="math_number" id="olC0vHqztBHOI{|z,)If">
                                     <field name="NUM">1</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                           </block>
                         </value>
                         <value name="ADD1">
                           <block type="get_value_var" id="HveQcZt3Hj-Jpk=([FCZ">
                             <field name="ATTR">val</field>
                             <value name="OID">
                               <shadow type="text" id="etr=A:avqF6}d)}k(k~a">
                                 <field name="TEXT"></field>
                               </shadow>
                               <block type="lists_getIndex" id="mI2YYTmqK(F9_f9=AWYC">
                                 <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="|TY^+rk;})ed^N$#p_pd">
                                     <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                   </block>
                                 </value>
                                 <value name="AT">
                                   <block type="math_arithmetic" id="E9y(38IsNTv%(r0::LIY">
                                     <field name="OP">ADD</field>
                                     <value name="A">
                                       <shadow type="math_number">
                                         <field name="NUM">1</field>
                                       </shadow>
                                       <block type="variables_get" id="-gW3MQMvL%r`!D=x=qFw">
                                         <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                       </block>
                                     </value>
                                     <value name="B">
                                       <shadow type="math_number">
                                         <field name="NUM">1</field>
                                       </shadow>
                                       <block type="math_number" id="`.v0F+9G9phaAEwHws,:">
                                         <field name="NUM">1</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </value>
                           </block>
                         </value>
                         <value name="ADD2">
                           <block type="lists_getIndex" id="H^@q`G[tG:Y3:ZT$X8xz">
                             <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="X(Z@($Xrq#KDw~M_5$9e">
                                 <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                               </block>
                             </value>
                             <value name="AT">
                               <block type="math_arithmetic" id="F[tF)M{Gh)R62FpWSzDY">
                                 <field name="OP">ADD</field>
                                 <value name="A">
                                   <shadow type="math_number">
                                     <field name="NUM">1</field>
                                   </shadow>
                                   <block type="variables_get" id="Y(6lEzjTe7qwF`wT7m=V">
                                     <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <shadow type="math_number">
                                     <field name="NUM">1</field>
                                   </shadow>
                                   <block type="math_number" id="z1r`}S%8e6G$KZjz)SXi">
                                     <field name="NUM">1</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                           </block>
                         </value>
                         <value name="ADD3">
                           <block type="lists_getIndex" id="-6`3u0]GG+3z}}OFm2s@">
                             <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="Q4av1{lCW1;0F:eUJvP#">
                                 <field name="VAR" id="zg5`*,uA4%`Fg5L@=CAI">schaltbar</field>
                               </block>
                             </value>
                             <value name="AT">
                               <block type="math_arithmetic" id="Z73k;}AOC;8+G/qSIat}">
                                 <field name="OP">ADD</field>
                                 <value name="A">
                                   <shadow type="math_number">
                                     <field name="NUM">1</field>
                                   </shadow>
                                   <block type="variables_get" id="{.#7[BqG#yjpydkt1F^{">
                                     <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <shadow type="math_number">
                                     <field name="NUM">1</field>
                                   </shadow>
                                   <block type="math_number" id="w~6-dt0bLnsDygL*/Teb">
                                     <field name="NUM">1</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </value>
                   </block>
                 </statement>
                </block>
                

                Wszene 1 Reply Last reply Reply Quote 0
                • Wszene
                  Wszene @liv-in-sky last edited by

                  @liv-in-sky
                  Kein Problem
                  Du bist ja nicht nur für mich da

                  Wenn ich "füge als" mit "setzte als" tusche dann nimmt er mir die Zeile Esstisch weg
                  Bildschirmfoto 2021-01-24 um 20.16.45.png

                  liv-in-sky 1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @Wszene last edited by

                    @wszene

                    hast du alles ausgetauscht die "i+1" sind wichtig

                    Wszene 1 Reply Last reply Reply Quote 0
                    • Wszene
                      Wszene @liv-in-sky last edited by

                      @liv-in-sky
                      so habe ich das gemacht?
                      Bildschirmfoto 2021-01-24 um 20.31.49.png

                      Habe ich da etwas übersehen?

                      liv-in-sky 1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @Wszene last edited by

                        @wszene

                        ja - in der liste fehlt setze i+1

                        Image 1.png

                        Wszene 1 Reply Last reply Reply Quote 0
                        • Wszene
                          Wszene @liv-in-sky last edited by

                          @liv-in-sky

                          Ahhhhhhh
                          genau das war es
                          Jetzt ist es richtig

                          Ich sollte vielleicht doch erstmal vom Bildschirm weg damit die Konzentration wieder da ist

                          liv-in-sky 1 Reply Last reply Reply Quote 0
                          • liv-in-sky
                            liv-in-sky @Wszene last edited by

                            @wszene sehr gut - gute nachrichten bevor es in die träumewelt geht

                            kannst du bitte deine lampen und steckdosen bilder hier posten - hätte ich gerne

                            und wenn das ganze fertig ist, vielleicht ein bild von der vis mit den tabellen posten ?

                            Wszene 1 Reply Last reply Reply Quote 0
                            • Wszene
                              Wszene @liv-in-sky last edited by Wszene

                              @liv-in-sky
                              Aber sicher doch
                              hier erstmal die Icons
                              ws-icons.zip

                              Die VIS wird leider noch etwas dauern
                              Da ist noch viel zu tun
                              Wenn die Startseite fertig ist (denke das könnte spätestens Dienstag sein) werde ich diese mal hier posten

                              EDIT:
                              Ich sehe gerade das mit Dienstag ist sehr sportlich
                              Ich muss leider erstmal in deinem Script die hart reingeschriebenen Style-Werte rauspicken
                              Problem ist das ich unterschiedliche VIS nutzen und diese unterschiedliche Größen und Farben haben daher muss ich CSS-Klassen einfügen um diese dann direkt im Projekt anzusprechen

                              liv-in-sky 1 Reply Last reply Reply Quote 1
                              • liv-in-sky
                                liv-in-sky @Wszene last edited by

                                @wszene

                                moin - ein kleiner schönheitsfehler - die lampen sind nicht 100% untereinander angeordnet

                                im script zeile 140 und 141 ganz am ende das leerzeichen löschen -. dann paßt es

                                Image 2.png

                                Wszene 1 Reply Last reply Reply Quote 1
                                • Wszene
                                  Wszene @liv-in-sky last edited by Wszene

                                  @liv-in-sky
                                  Ich habe jetzt dein Script soweit verpfuscht das der Output so aussieht

                                  <table class="ws_tabelle_lampen">
                                    <tr bgcolor="#151515">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Esstisch&ensp;</td>
                                      <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.01_Stube.01_Schalter.Schalter-Esstisch')"><img src=/vis.0/WS-Icons/Lampen/bulb-on.png height="35"
                                            width="35"></button>&ensp;</td>
                                    </tr>
                                    <tr bgcolor="#000000">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Sofatisch&ensp;</td>
                                      <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.01_Stube.01_Schalter.Schalter-Sofatisch')"><img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35"
                                            width="35"></button>&ensp;</td>
                                    </tr>
                                    <tr bgcolor="#151515">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Stehlampe klein&ensp;</td>
                                      <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                    </tr>
                                    <tr bgcolor="#000000">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Stehlampe groß&ensp;</td>
                                      <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                    </tr>
                                    <tr bgcolor="#151515">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Schlafzimmer-Lampe&ensp;</td>
                                      <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.02_Schlafzimmer.01_Schalter.Schalter-Schlafzimmerlampe')"><img src=/vis.0/WS-Icons/Lampen/bulb-off.png
                                            height="35" width="35"></button>&ensp;</td>
                                    </tr>
                                    <tr bgcolor="#000000">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Abstellkammer-Lampe&ensp;</td>
                                      <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                    </tr>
                                  </table>
                                  <script>
                                    function setOnDblClickCustom(myvalue) {
                                      var Self = this;
                                      var objID = myvalue;
                                      Self.servConn.getStates(objID, (error, states) => {
                                        console.log(states);
                                        Self.servConn.setState(objID, !states[objID].val);
                                      });
                                    }
                                  </script>
                                  

                                  Was ich leider nicht finde (da fehlt mir sie Erfahrung) sind die "bgcolor" und die ganzen Lehrzeichen
                                  Ich hätte es gern das der Output so aussieht

                                  <table class="ws_tabelle_lampen">
                                    <tr class="ws_zeile1_bgcolor">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Esstisch&ensp;</td>
                                      <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.01_Stube.01_Schalter.Schalter-Esstisch')"><img src=/vis.0/WS-Icons/Lampen/bulb-on.png height="35"
                                            width="35"></button>&ensp;</td>
                                    </tr>
                                    <tr class="ws_zeile2_bgcolor">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Sofatisch&ensp;</td>
                                      <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.01_Stube.01_Schalter.Schalter-Sofatisch')"><img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35"
                                            width="35"></button>&ensp;</td>
                                    </tr>
                                    <tr class="ws_zeile1_bgcolor">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Stehlampe klein&ensp;</td>
                                      <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                    </tr>
                                    <tr class="ws_zeile2_bgcolor">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Stehlampe groß&ensp;</td>
                                      <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                    </tr>
                                    <tr class="ws_zeile1_bgcolor">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Schlafzimmer-Lampe&ensp;</td>
                                      <td align=center>&ensp;<button style="border:none; background-color:transparent; value=" toggle" onclick="setOnDblClickCustom('alias.0.02_Schlafzimmer.01_Schalter.Schalter-Schlafzimmerlampe')"><img src=/vis.0/WS-Icons/Lampen/bulb-off.png
                                            height="35" width="35"></button>&ensp;</td>
                                    </tr>
                                    <tr class="ws_zeile2_bgcolor">
                                      <td class="ws_tabelle_lampen_name" align=left>&ensp;Abstellkammer-Lampe&ensp;</td>
                                      <td align=center>&ensp;<img src=/vis.0/WS-Icons/Lampen/bulb-off.png height="35" width="35">&ensp;</td>
                                    </tr>
                                  </table>
                                  <script>
                                    function setOnDblClickCustom(myvalue) {
                                      var Self = this;
                                      var objID = myvalue;
                                      Self.servConn.getStates(objID, (error, states) => {
                                        console.log(states);
                                        Self.servConn.setState(objID, !states[objID].val);
                                      });
                                    }
                                  </script>
                                  

                                  Ideal wäre noch wenn die "img" eine Class bekommen könnten dann könnte ich deren Größe auch in jedem Projekt via CSS anpassen

                                  Hier nochmal das Script wie es jetzt bei mir aussieht

                                  //@liv-in-sky 2020  4.2.-18:42
                                  
                                  
                                  //HIER WIRD PFAD UND FILENAME DEFINIERT
                                  const path = "/htmlexamplesetting.html";                   //FIlenamen definieren
                                  const home ='vis.0'                                 //wo soll das file im iobroker-file-system liegen ? (oder z.b auch iqontrol.meta)
                                  let   braucheEinFile=false;                          // bei true wird ein file geschrieben
                                  let   braucheEinVISWidget=true;                     // bei true wird ein html-tabelle in einen dp geschrieben - siehe nächste zeile
                                  //let dpVIS="controll-own.0.AAATEST.TestHTML"         //WICHTIG wenn braucheEinVISWidget auf true gesetzt !!  dp zusätzlich für VIS-HTML-Basic-Widget
                                  const farbeSchalterON="lightblue"               // farbe des schalters für ON
                                  const farbeSchalterOFF="grey"               // farbe des schalters für OFF
                                  
                                  //let mySchedule=" */20 * * * * * ";                       //jede minute  
                                  //---------------------------------------
                                  
                                  //HIER DIE SPALTEN ANZAHL DEFINIEREN - jede Spalte einen Wert - in diesem Beispiel sind es 2
                                  var htmlFeld1='Standort';       var Feld1lAlign="left";                     // überschrift Tabellen Spalte1 und  Ausrichtung left,right or center
                                  var htmlFeld2='Status';         var Feld2lAlign="center";                      // überschrift Tabellen Spalte2 und  Ausrichtung left,right or center
                                  
                                  //-----------------------------------
                                  
                                  
                                  
                                  //hier werden die styles für die tabelle definiert
                                  //ÜBERSCHRIFT ÜBER TABELLE
                                  let   htmlUberschrift=false;                           // mit Überschrift über der tabelle
                                  let   htmlSignature=false;                              // anstatt der Überscghrift eine signature: - kleiner - anliegend
                                  const htmlFeldUeber='Batterie Zustand Sensoren';              // Überschrift und Signature
                                  const htmlFarbUber="black";                         // Farbe der Überschrift
                                  const htmlSchriftWeite="normal";                       // bold, normal - Fettschrift für Überschrift
                                  const htmlÜberFontGroesse="18px";                       // schriftgröße überschrift
                                  //MEHRERE TABELLEN NEBENEINANDER
                                  let   mehrfachTabelle=1;                              // bis zu 4 Tabellen werden nebeneinander geschrieben-  verkürzt das Ganze, dafür etwas breiter - MÖGLICH 1,2,3,oder 4 !!!
                                  const trennungsLinie="2";                             //extra trennungslinie bei mehrfachtabellen - evtl auf 0 stellen, wnn htmlRahmenLinien auf none sind
                                  const farbetrennungsLinie="white";
                                  const htmlFarbZweiteTabelle="white";                // Farbe der Überschrift bei jeder 2.ten Tabelle
                                  const htmlFarbTableColorUber="#000000";               // Überschrift in der tabelle - der einzelnen Spalten
                                  //ÜBERSCHRIFT SPALTEN
                                  const UeberSchriftHöhe="35";                          //Überschrift bekommt mehr Raum - darunter und darüber - Zellenhöhe
                                  const LinieUnterUeberschrift="3";                   // Linie nur unter Spaltenüberschrift - 
                                  const farbeLinieUnterUeberschrift="white";
                                  const groesseUeberschrift=16;
                                  const UeberschriftStyle="normal"                     // möglich "bold"
                                  //GANZE TABELLE
                                  let abstandZelle="1";
                                  let farbeUngeradeZeilen="#000000";                     //Farbe für ungerade Zeilenanzahl - Hintergrund der Spaltenüberschrift bleibt bei htmlFarbTableColorGradient1/2
                                  let farbeGeradeZeilen="#151515";                        //Farbe für gerade Zeilenanzahl - Hintergrund der Spaltenüberschrift bleibt bei htmlFarbTableColorGradient1/2
                                  let weite="100%";                                     //Weite der Tabelle
                                  let zentriert=true;                                   //ganze tabelle zentriert
                                  const backgroundAll="#000000";                        //Hintergrund für die ganze Seite - für direkten aufruf oder iqontrol sichtber - keine auswirkung auf vis-widget
                                  const htmlSchriftart="Play-Regular";
                                  //const htmlSchriftgroesse="22px";
                                  //FELDER UND RAHMEN
                                  let   UeberschriftSpalten=false;                // ein- oder ausblenden der spatlen-überschriften
                                  const htmlFarbFelderschrift="#BDBDBD";                  // SchriftFarbe der Felder
                                  const htmlFarbFelderschrift2="#D8D8D8";                 // SchriftFarbe der Felder für jede 2te Tabelle
                                  const htmlFarbTableColorGradient1="#CDD163";          //  Gradient - Hintergrund der Tabelle - Verlauffarbe
                                  const htmlFarbTableColorGradient2="#CDD163";          //  Gradient - Hintergrund der Tabelle - ist dieser Wert gleich Gradient1 gibt es keinen verlauf
                                  const htmlFarbTableBorderColor="acaa20";             // Farbe des Rahmen - is tdieser gleich den gradienten, sind die rahmen unsichtbar
                                  let htmlRahmenLinien="all";                            // Format für Rahmen: MÖGLICH: "none" oder "all" oder "cols" oder "rows"
                                  const htmlSpalte1Weite="auto";                   //  Weite der ersten beiden  Spalten oder z.b. 115px
                                  
                                  // HIER NICHTS  ÄNDERN
                                  
                                  let borderHelpBottum;
                                  let borderHelpRight;
                                  let htmlcenterHelp;
                                  let htmlcenterHelp2;
                                  
                                  if(htmlRahmenLinien=="rows") {borderHelpBottum=1;borderHelpRight=0;}
                                  if(htmlRahmenLinien=="cols") {borderHelpBottum=0;borderHelpRight=1;}
                                  if(htmlRahmenLinien=="none") {borderHelpBottum=0;borderHelpRight=0;}
                                  if(htmlRahmenLinien=="all")  {borderHelpBottum=1;borderHelpRight=1;}
                                  zentriert ? htmlcenterHelp="auto" : htmlcenterHelp="left";
                                  zentriert ? htmlcenterHelp2="center" : htmlcenterHelp2="left";
                                  
                                  
                                  const htmlZentriert=''
                                  const htmlStart=    "";
                                  //const htmlUeber=    "<p style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-weight: bold\">"+htmlFeldUeber+"</p>";                    
                                  const htmlTabStyle= "<table class=\""+tabelleClass+"\">";
                                  const htmlTabUeber1="<tr height=\""+UeberSchriftHöhe+"\" style=\"color:"+htmlFarbTableColorUber+"; font-size: "+groesseUeberschrift+"px; font-weight: "+UeberschriftStyle+" ;  border-bottom: "+LinieUnterUeberschrift+"px solid "+farbeLinieUnterUeberschrift+" \">";
                                  const htmlTabUeber3="</tr>";
                                  
                                  const buttonScript =  '<script> function setOnDblClickCustom( myvalue ) {	var Self = this; var objID = myvalue;	Self.servConn.getStates(objID, (error, states) => {  console.log(states);  Self.servConn.setState(objID, !states[objID].val); }); } </script>'
                                  
                                  ////NICHTS ÄNDERN  - abhängig von den oben definierten _Spalten - in diesem Beispiel sind es 2
                                  
                                  var htmlTabUeber2="<td width="+htmlSpalte1Weite+" align="+Feld1lAlign+">&ensp;"+htmlFeld1+"&ensp;</td><td width="+htmlSpalte1Weite+" align="+Feld2lAlign+">&ensp;"+htmlFeld2+"&ensp;</td>";
                                  var htmlTabUeber2_1="<td width="+htmlSpalte1Weite+" align="+Feld1lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld1+"&ensp;</td><td width="+htmlSpalte1Weite+" align="+Feld2lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld2+
                                                    "&ensp;</td>";
                                  //------------------------------------------------------
                                  
                                  
                                  var htmlOut="";
                                  var mix;
                                  var counter;
                                  var val1;  var val0;
                                  var htmlTabUeber="";
                                  
                                  function writeHTML(){
                                  
                                  
                                  
                                  htmlOut="";
                                  
                                  counter=-1;
                                  htmlTabUeber="";
                                  switch (mehrfachTabelle) { 
                                    case 1: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber3;  break;
                                    case 2: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber3; break;
                                    case 3: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber2+htmlTabUeber3; break;
                                    case 4: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber3; break;
                                  };    
                                  if (!UeberschriftSpalten) {htmlTabUeber=""}
                                  
                                  //--------------------------------------------------------------------------------------------------------------------------------------------------
                                  //---------hier kommt eure schleife rein counter++, tabelleBind() und tabelleFinish() müssen so integriert bleiben !!!------------------------------
                                  //---------alle valx werte müssen von euch bestimmt werden - val0,val1 !!!---------------------------------------------------------------------
                                  //--------------------------------------------------------------------------------------------------------------------------------------------------
                                  
                                  for (var x=0;x<myList.length;x++){
                                      counter++;
                                      if(myList[x][1]!=null){
                                                            val0  = myList[x][0];
                                                            val1  = myList[x][1]
                                    // log(val0)
                                                  let valButton=myList[x][2]
                                                  
                                                  if (myList[x][3]){
                                                  val1 ? val1="<button style\=\"border:none\; background-color\:transparent\; value=\"toggle\" onclick=\"setOnDblClickCustom\(\'"+valButton+"\')\">"+"<img src="+symbolSwitchON +" height=\""+symbolHoehe+"\" width=\""+symbolBreite+"\">"+"</button>":
                                                           val1="<button style\=\"border:none\; background-color\:transparent\; value=\"toggle\" onclick=\"setOnDblClickCustom\(\'"+valButton+"\')\">"+"<img src="+symbolSwitchOFF +" height=\""+symbolHoehe+"\" width=\""+symbolBreite+"\">"+"</button>";
                                                  } else{
                                                     val1 ? val1="<img src="+symbolSwitchON +" height=\""+symbolHoehe+"\" width=\""+symbolBreite+"\">"  : 
                                                            val1="<img src="+symbolSwitchOFF +" height=\""+symbolHoehe+"\" width=\""+symbolBreite+"\">" 
                                                      
                                                  }
                                               
                                                         //   if (val1==false) {val1="❌"} else{val1="✅"}  
                                                           tabelleBind()
                                                             
                                                            }; //Schleifen Ende - je nach schleifenart muss hier etwas geändert werden !!!!!!!!!
                                  
                                  } tabelleFinish();
                                  //------------------------------------------------------------
                                  //------------------------------------------------------------
                                  //------------------------------------------------------------   
                                  
                                      // AB HIER NICHTS ÄNDERN - tabelle fertigstellen
                                      
                                  } // function ende
                                  
                                  //MAIN:
                                  
                                  
                                  writeHTML();
                                  
                                  function tabelleBind(){
                                        switch (mehrfachTabelle) {  
                                          case 1:  if(counter%2==0)         {   htmlOut=htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td class=\""+tabelleClassSpalte1+"\" align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>"; break;  } else
                                                                            {   htmlOut=htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td class=\""+tabelleClassSpalte1+"\" align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>"; break;  }
                                  //-------------------------------------
                                          case 2:  if(counter%4==0){
                                                   if(counter%2==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\" ><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+
                                                                     ";\"align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                                else {htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+
                                                                      htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td></tr>";} break;
                                          }else{
                                                   if(counter%2==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+
                                                                     "px solid "+farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                                else {htmlOut = htmlOut+"<td  align="+Feld1lAlign+" style=\" color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                   " style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td></tr>";} break;}
                                  //-------------------------------------               
                                          case 3: if(counter%2==0)   {
                                          
                                                  if(counter%3==0 )  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                     farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                                else { if(counter%3==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                                          " style=\"border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                                                 else    {htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>";}
                                                                           } break; }else{
                                                  if(counter%3==0 )  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                     farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                                else { if(counter%3==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                                          " style=\"border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                                                 else    {htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>";}
                                                                           } break;  }                       
                                  //------------------------------------- 
                                          case 4: //counter=counter+8 
                                          if(counter%8==0)   {
                                          
                                                   if(counter%4==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                     farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                                    else {if(counter%4==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                                             " style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                                                 else    {if(counter%4==3)  { htmlOut= htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+
                                                                                                                            Feld2lAlign+" style=\"border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"; color:"+htmlFarbFelderschrift2+
                                                                                                                            "\">&ensp;"+val1+"&ensp;</td></tr>";} 
                                                                                                   else    {htmlOut = htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "
                                                                                                            +farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>";}}
                                                                           } break;}else{
                                                   if(counter%4==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                     farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                                    else {if(counter%4==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+
                                                                                             " style=\"border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                                                 else    {if(counter%4==3)  { htmlOut= htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="
                                                                                                                            +Feld2lAlign+" style=\" color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td></tr>";} 
                                                                                                   else    {htmlOut = htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+
                                                                                                            farbetrennungsLinie+";\" align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>";}}
                                                                           }  break;   }                     
                                  
                                      } //switch ende
                                  
                                  }
                                  
                                  function tabelleFinish() {
                                  
                                        switch (mehrfachTabelle) {  
                                          case 1:    break;
                                          case 2:    if(counter%2==0)  htmlOut = htmlOut.replace(/<\/td>$/, '</td><td>&ensp;</td><td>&ensp;</td></tr>'); 
                                                          
                                                     break;
                                          case 3:    if(counter%3==2)  htmlOut = htmlOut.replace(/<\/td>$/, "</td></tr>");
                                                     if(counter%3==1)  htmlOut = htmlOut.replace(/<\/td>$/,  '</td><td>test&ensp;</td><td>&ensp;</td></tr>');       
                                                     if(counter%3==0)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>");
                                                      
                                                     break;
                                          case 4:    if(counter%4==3)  htmlOut = htmlOut.replace(/<\/td>$/, "</td></tr>");
                                                     if(counter%4==2)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td>&ensp;</td></tr>");
                                                     if(counter%4==1)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>");    
                                                     if(counter%4==0)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>");   
                                                       
                                                     break; }
                                           var htmlUeber=    "<p style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: "+htmlÜberFontGroesse+"; font-weight:"+htmlSchriftWeite+ "\">"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</p>"; 
                                        var htmlUnter= "<div  style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: 70%; text-align: right;\" >"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</div>"
                                         
                                         if (!htmlSignature) htmlUnter="";
                                           //Ausgabe über VIS html widget - tabelle in datenpunkt schreiben - html tabelle ohne html header und body
                                            var htmlOutVIS="";
                                          //  htmlUberschrift ? htmlOutVIS=htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>" : htmlOutVIS=htmlTabStyle+htmlTabUeber+htmlOut+"</table>";
                                             if (htmlUberschrift) 
                                                 { zentriert ? htmlOutVIS=htmlZentriert+htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript : htmlOutVIS=htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript ;
                                  
                                               } else {
                                                zentriert ?  htmlOutVIS=htmlZentriert+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript :  htmlOutVIS=htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter+ buttonScript;
                                  
                                                  }
                                  
                                   // log("bin raus aus tabelleBind");
                                            if (braucheEinVISWidget) setState(dpVIS, htmlOutVIS );
                                  
                                  var htmlUnter= "<div  style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: 80%;  text-align: center; \" >"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</div>"
                                  
                                  if (!htmlSignature) htmlUnter="";
                                  var htmlEnd="</table>"+htmlUnter+"</div></body>";
                                  //mit oder ohne überschrift - zentriert oder links
                                  htmlUberschrift ? htmlOut=htmlStart+htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+htmlEnd + buttonScript: htmlOut=htmlStart+htmlTabStyle+htmlTabUeber+htmlOut+htmlEnd+ buttonScript;
                                  //log(htmlOut);
                                  
                                  
                                  }
                                  
                                  
                                  

                                  Ich wäre dir sehr Dankbar wenn du dir das nochmal ansehen könntest

                                  PS:
                                  Wie kann ich hier im Forum eigentlich den Spoiler-Tag nutzen

                                  Glasfaser liv-in-sky 3 Replies Last reply Reply Quote 0
                                  • Glasfaser
                                    Glasfaser @Wszene last edited by

                                    @wszene sagte in Blockly optimieren -Tabelle erstellen:

                                    PS:
                                    Wie kann ich hier im Forum eigentlich den Spoiler-Tag nutzen

                                    const UeberSchriftHöhe="35";                          //Überschrift bekommt mehr Raum - darunter und darüber - Zellenhöhe
                                    

                                    oder

                                    const UeberSchriftHöhe="35";                          //Überschrift bekommt mehr Raum - darunter und darüber - Zellenhöhe
                                    

                                    1122222222222222222.gif

                                    1 Reply Last reply Reply Quote 1
                                    • liv-in-sky
                                      liv-in-sky @Wszene last edited by

                                      @wszene

                                      eine css klasse für image wäre möglich - aber reicht dir weite und höhe nicht aus? was brauchst du noch ?

                                      die tableclass hast du als variable eingefügt - diese aber nie deklariert - aber eigentlich braucht man bei diesen tabellen keine klassen definieren , sondern man stellt ein, was man braucht

                                      lass und nochmal anydesken - im moment ist mir völlig unklar, was du eigentlich einstellen möchtest - werden wir schon hinbekommen

                                      1 Reply Last reply Reply Quote 0
                                      • liv-in-sky
                                        liv-in-sky @Wszene last edited by

                                        @wszene

                                        oh - ich glaube, ich habe etwas vergessen zu posten - daher kannst du nicht wissen, dass du die bilder verändern kannst

                                        mein blockly sieht so aus:

                                        Image 2.png

                                        ganzes blockly als import zum rauskopieren:

                                        <xml xmlns="https://developers.google.com/blockly/xml">
                                         <variables>
                                           <variable id="U3ge^B{?p,jfAdCjS^R`">myList</variable>
                                           <variable id="%bp]2~EOjnEkDJX$NYKl">symbolSwitchOFF</variable>
                                           <variable id="UrdtKDQ=Ky.^B@eAuwIJ">i</variable>
                                           <variable id="8a-KbCQJUo$]XfcjLaz,">symbolSwitchON</variable>
                                           <variable id="sJ5]JS8[cNqh9%*Ncrso">bildgroesseBreit</variable>
                                           <variable id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</variable>
                                           <variable id="y)eN7.8HDTNy:0QIRpvu">namen</variable>
                                           <variable id="_lOTy#(65qHkTUC-#qv-">bildgroesseHoch</variable>
                                           <variable id="j!r]d|0)OZ`?7?E5+uc,">dpVIS</variable>
                                           <variable id="zg5`*,uA4%`Fg5L@=CAI">schaltbar</variable>
                                           <variable id="}K$K4dup~Vnv!`[}vnQy">Liste</variable>
                                           <variable id="Z=?7wCQ1-49/,bxoE1#|">counter</variable>
                                         </variables>
                                         <block type="comment" id="[j=,#tJ/I,.*8^Z3Wzs{" x="-237" y="-662">
                                           <field name="COMMENT">images - speicherort in vis</field>
                                           <next>
                                             <block type="variables_set" id="~?/2.OORH76[^b$|2(5R">
                                               <field name="VAR" id="%bp]2~EOjnEkDJX$NYKl">symbolSwitchOFF</field>
                                               <value name="VALUE">
                                                 <block type="text" id="3bPoXd(8*3scn9U;eE@/">
                                                   <field name="TEXT">/vis.0/armin/img/bulb-off.png</field>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="variables_set" id="uXbCEVuXS=h+,,EVEHwY">
                                                   <field name="VAR" id="8a-KbCQJUo$]XfcjLaz,">symbolSwitchON</field>
                                                   <value name="VALUE">
                                                     <block type="text" id="%srfTYVdD%f}KeATVB(a">
                                                       <field name="TEXT">/vis.0/armin/img/bulb-on.png</field>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="variables_set" id="5Jd+nCw{/0S8ZXm^lw[c">
                                                       <field name="VAR" id="sJ5]JS8[cNqh9%*Ncrso">bildgroesseBreit</field>
                                                       <value name="VALUE">
                                                         <block type="math_number" id="Q=0a1hd-^LWLgqgiNaGD">
                                                           <field name="NUM">40</field>
                                                         </block>
                                                       </value>
                                                       <next>
                                                         <block type="variables_set" id=":=cNBc1~N::48F5P5Q7Z">
                                                           <field name="VAR" id="_lOTy#(65qHkTUC-#qv-">bildgroesseHoch</field>
                                                           <value name="VALUE">
                                                             <block type="math_number" id="Je;:%9eTu14ub:1{hve*">
                                                               <field name="NUM">45</field>
                                                             </block>
                                                           </value>
                                                           <next>
                                                             <block type="comment" id="xcpOj.{NS!eYll{PHKR*">
                                                               <field name="COMMENT">tabelle - speicherort</field>
                                                               <next>
                                                                 <block type="variables_set" id=":esye3=24O%w1CSt1}0H">
                                                                   <field name="VAR" id="j!r]d|0)OZ`?7?E5+uc,">dpVIS</field>
                                                                   <value name="VALUE">
                                                                     <block type="text" id="n{gM;m:9Bopp9FhtB2$Q">
                                                                       <field name="TEXT">controll-own.0.AAATEST.TestHTML</field>
                                                                     </block>
                                                                   </value>
                                                                   <next>
                                                                     <block type="comment" id=".$=_}0|2u$~bQ?mpEmWQ">
                                                                       <field name="COMMENT">namen rechte spalte</field>
                                                                       <next>
                                                                         <block type="comment" id="XdqJd0}0:IV.@B%SPJ,l">
                                                                           <field name="COMMENT">anzahl namen und datenpunkte müssn GLEICH sein!!!!</field>
                                                                           <next>
                                                                             <block type="variables_set" id="%,}7!+#]4L;%k~3~$U`j">
                                                                               <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                                                                               <value name="VALUE">
                                                                                 <block type="lists_create_with" id="3v;AGsHBw|Ity4%0%LBm">
                                                                                   <mutation items="3"></mutation>
                                                                                   <value name="ADD0">
                                                                                     <block type="text" id="bquXlWOyq%x)l~Kd)#!$">
                                                                                       <field name="TEXT">Sonoff 1</field>
                                                                                     </block>
                                                                                   </value>
                                                                                   <value name="ADD1">
                                                                                     <block type="text" id="kM.VWCCP(2KFbJzRuLZ}">
                                                                                       <field name="TEXT">Sonoff 17</field>
                                                                                     </block>
                                                                                   </value>
                                                                                   <value name="ADD2">
                                                                                     <block type="text" id="AI[54NK3pOd_V.qP8;*#">
                                                                                       <field name="TEXT">Sonoff 16 - nur Bild</field>
                                                                                     </block>
                                                                                   </value>
                                                                                 </block>
                                                                               </value>
                                                                               <next>
                                                                                 <block type="comment" id="y*eI7Z{I[{FGyQ@.T0W:">
                                                                                   <field name="COMMENT">zu prüfende datenpunkte</field>
                                                                                   <next>
                                                                                     <block type="variables_set" id="T?^D@#slt^U_c38k?Qf$">
                                                                                       <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                                                       <value name="VALUE">
                                                                                         <block type="lists_create_with" id="~vT)*f@e74d7nmI~aku}">
                                                                                           <mutation items="3"></mutation>
                                                                                           <value name="ADD0">
                                                                                             <block type="field_oid" id=":5hC4z,DJzE{mD!gGfxv">
                                                                                               <field name="oid">sonoff.1.Sonoff1.POWER1</field>
                                                                                             </block>
                                                                                           </value>
                                                                                           <value name="ADD1">
                                                                                             <block type="field_oid" id="J%gkw).sCndBA`url,w2">
                                                                                               <field name="oid">sonoff.0.Sonoff17.POWER</field>
                                                                                             </block>
                                                                                           </value>
                                                                                           <value name="ADD2">
                                                                                             <block type="field_oid" id="em_^Z$R~84*%,Q:upd*g">
                                                                                               <field name="oid">sonoff.0.Sonoff16.POWER</field>
                                                                                             </block>
                                                                                           </value>
                                                                                         </block>
                                                                                       </value>
                                                                                       <next>
                                                                                         <block type="comment" id="y7bQkqCW4$J4.)r@8m0;">
                                                                                           <field name="COMMENT">schaltbar ja oder nein</field>
                                                                                           <next>
                                                                                             <block type="variables_set" id="`t^uKi@b)1@^b/dZ+7JU">
                                                                                               <field name="VAR" id="zg5`*,uA4%`Fg5L@=CAI">schaltbar</field>
                                                                                               <value name="VALUE">
                                                                                                 <block type="lists_create_with" id="A:wP[,~5zpo$qCxtYka(">
                                                                                                   <mutation items="3"></mutation>
                                                                                                   <value name="ADD0">
                                                                                                     <block type="logic_boolean" id="1-FJmRW,V{X:!MvV[MY^">
                                                                                                       <field name="BOOL">TRUE</field>
                                                                                                     </block>
                                                                                                   </value>
                                                                                                   <value name="ADD1">
                                                                                                     <block type="logic_boolean" id="g68n+RpF=_:+Tmr)U9ng">
                                                                                                       <field name="BOOL">FALSE</field>
                                                                                                     </block>
                                                                                                   </value>
                                                                                                   <value name="ADD2">
                                                                                                     <block type="logic_boolean" id="Ychmk6yl=No2OTW}]NDK">
                                                                                                       <field name="BOOL">TRUE</field>
                                                                                                     </block>
                                                                                                   </value>
                                                                                                 </block>
                                                                                               </value>
                                                                                               <next>
                                                                                                 <block type="on_ext" id="6rVl-%ae1[BpvH+7]z0b">
                                                                                                   <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="E1e;zY}}83B2UCtTz8hx">
                                                                                                       <field name="oid">default</field>
                                                                                                     </shadow>
                                                                                                     <block type="variables_get" id="Zf!Yc?uOmKG#K{Uu9S8b">
                                                                                                       <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                                                                     </block>
                                                                                                   </value>
                                                                                                   <statement name="STATEMENT">
                                                                                                     <block type="variables_set" id="sWqJxa.MyY?*y-S}mHPz">
                                                                                                       <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                                                                                                       <value name="VALUE">
                                                                                                         <block type="lists_create_with" id="s1KG8o;:gtQ6DjJt@w9I">
                                                                                                           <mutation items="0"></mutation>
                                                                                                         </block>
                                                                                                       </value>
                                                                                                       <next>
                                                                                                         <block type="variables_set" id="R6exgi+-F7xoKVW/[NE.">
                                                                                                           <field name="VAR" id="Z=?7wCQ1-49/,bxoE1#|">counter</field>
                                                                                                           <value name="VALUE">
                                                                                                             <block type="math_number" id="AHHG~c/mltPLQ?]Ik;5M">
                                                                                                               <field name="NUM">-1</field>
                                                                                                             </block>
                                                                                                           </value>
                                                                                                           <next>
                                                                                                             <block type="controls_for" id="JNNaZlB+?Z04HOx2Gu(?">
                                                                                                               <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                               <value name="FROM">
                                                                                                                 <shadow type="math_number" id="WrG3EpK=zNPCy+mYu[+@">
                                                                                                                   <field name="NUM">0</field>
                                                                                                                 </shadow>
                                                                                                                 <block type="math_number" id="G9ch35ui-=)nUvTqVCOT">
                                                                                                                   <field name="NUM">0</field>
                                                                                                                 </block>
                                                                                                               </value>
                                                                                                               <value name="TO">
                                                                                                                 <shadow type="math_number" id="_/06^]%/`/nYCqXnIr%]">
                                                                                                                   <field name="NUM">10</field>
                                                                                                                 </shadow>
                                                                                                                 <block type="math_arithmetic" id="3_Kfs9BtIWPdu;w[c{KZ">
                                                                                                                   <field name="OP">MINUS</field>
                                                                                                                   <value name="A">
                                                                                                                     <shadow type="math_number" id="NQ%A+vSNxHXGUM,]d78|">
                                                                                                                       <field name="NUM">1</field>
                                                                                                                     </shadow>
                                                                                                                     <block type="lists_length" id="h+EEOFLY?/C$y6;7liOQ">
                                                                                                                       <value name="VALUE">
                                                                                                                         <block type="variables_get" id="{QW1kH)96}J?c@l:ZX@N">
                                                                                                                           <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                                                                                                                         </block>
                                                                                                                       </value>
                                                                                                                     </block>
                                                                                                                   </value>
                                                                                                                   <value name="B">
                                                                                                                     <shadow type="math_number" id="_2$*hu8I]a*4FLcXDq6P">
                                                                                                                       <field name="NUM">1</field>
                                                                                                                     </shadow>
                                                                                                                     <block type="math_number" id="PQG~7f)%K=+n8FY@nTNg">
                                                                                                                       <field name="NUM">1</field>
                                                                                                                     </block>
                                                                                                                   </value>
                                                                                                                 </block>
                                                                                                               </value>
                                                                                                               <value name="BY">
                                                                                                                 <shadow type="math_number" id="7;%P*{n!b.1Xz)aAfk#m">
                                                                                                                   <field name="NUM">1</field>
                                                                                                                 </shadow>
                                                                                                                 <block type="math_number" id="3ZVDn%UWJCgghp=ke5_$">
                                                                                                                   <field name="NUM">1</field>
                                                                                                                 </block>
                                                                                                               </value>
                                                                                                               <statement name="DO">
                                                                                                                 <block type="lists_setIndex" id="-zUiNM(}BsoQ].Hu.|mx">
                                                                                                                   <mutation at="true"></mutation>
                                                                                                                   <field name="MODE">SET</field>
                                                                                                                   <field name="WHERE">FROM_START</field>
                                                                                                                   <value name="LIST">
                                                                                                                     <block type="variables_get" id="Q0Hct8=ken4m!!W]js)U">
                                                                                                                       <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                                                                                                                     </block>
                                                                                                                   </value>
                                                                                                                   <value name="AT">
                                                                                                                     <block type="math_arithmetic" id="XfsC3YCPWv`.2L,?[}DO">
                                                                                                                       <field name="OP">ADD</field>
                                                                                                                       <value name="A">
                                                                                                                         <shadow type="math_number">
                                                                                                                           <field name="NUM">1</field>
                                                                                                                         </shadow>
                                                                                                                         <block type="variables_get" id="yff.r|]h@7J[7mVX9qps">
                                                                                                                           <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                                         </block>
                                                                                                                       </value>
                                                                                                                       <value name="B">
                                                                                                                         <shadow type="math_number">
                                                                                                                           <field name="NUM">1</field>
                                                                                                                         </shadow>
                                                                                                                         <block type="math_number" id="};+tby,HZtiP=yo4B?T$">
                                                                                                                           <field name="NUM">1</field>
                                                                                                                         </block>
                                                                                                                       </value>
                                                                                                                     </block>
                                                                                                                   </value>
                                                                                                                   <value name="TO">
                                                                                                                     <block type="lists_create_with" id="6a@[p]s)BEL%k0#L3dY#">
                                                                                                                       <mutation items="4"></mutation>
                                                                                                                       <value name="ADD0">
                                                                                                                         <block type="lists_getIndex" id="WP?9V`Ax1s6W9F7SQ4w,">
                                                                                                                           <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="+qq.av],CDOw9trIdImN">
                                                                                                                               <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                                                                                                                             </block>
                                                                                                                           </value>
                                                                                                                           <value name="AT">
                                                                                                                             <block type="math_arithmetic" id="(omAgkYl:o0+@,=9lJ4J">
                                                                                                                               <field name="OP">ADD</field>
                                                                                                                               <value name="A">
                                                                                                                                 <shadow type="math_number">
                                                                                                                                   <field name="NUM">1</field>
                                                                                                                                 </shadow>
                                                                                                                                 <block type="variables_get" id="VB.*bdT*60.t/HnVu[Ki">
                                                                                                                                   <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                                                 </block>
                                                                                                                               </value>
                                                                                                                               <value name="B">
                                                                                                                                 <shadow type="math_number">
                                                                                                                                   <field name="NUM">1</field>
                                                                                                                                 </shadow>
                                                                                                                                 <block type="math_number" id="olC0vHqztBHOI{|z,)If">
                                                                                                                                   <field name="NUM">1</field>
                                                                                                                                 </block>
                                                                                                                               </value>
                                                                                                                             </block>
                                                                                                                           </value>
                                                                                                                         </block>
                                                                                                                       </value>
                                                                                                                       <value name="ADD1">
                                                                                                                         <block type="get_value_var" id="HveQcZt3Hj-Jpk=([FCZ">
                                                                                                                           <field name="ATTR">val</field>
                                                                                                                           <value name="OID">
                                                                                                                             <shadow type="text" id="etr=A:avqF6}d)}k(k~a">
                                                                                                                               <field name="TEXT"></field>
                                                                                                                             </shadow>
                                                                                                                             <block type="lists_getIndex" id="mI2YYTmqK(F9_f9=AWYC">
                                                                                                                               <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="|TY^+rk;})ed^N$#p_pd">
                                                                                                                                   <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                                                                                                 </block>
                                                                                                                               </value>
                                                                                                                               <value name="AT">
                                                                                                                                 <block type="math_arithmetic" id="E9y(38IsNTv%(r0::LIY">
                                                                                                                                   <field name="OP">ADD</field>
                                                                                                                                   <value name="A">
                                                                                                                                     <shadow type="math_number">
                                                                                                                                       <field name="NUM">1</field>
                                                                                                                                     </shadow>
                                                                                                                                     <block type="variables_get" id="-gW3MQMvL%r`!D=x=qFw">
                                                                                                                                       <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                                                     </block>
                                                                                                                                   </value>
                                                                                                                                   <value name="B">
                                                                                                                                     <shadow type="math_number">
                                                                                                                                       <field name="NUM">1</field>
                                                                                                                                     </shadow>
                                                                                                                                     <block type="math_number" id="`.v0F+9G9phaAEwHws,:">
                                                                                                                                       <field name="NUM">1</field>
                                                                                                                                     </block>
                                                                                                                                   </value>
                                                                                                                                 </block>
                                                                                                                               </value>
                                                                                                                             </block>
                                                                                                                           </value>
                                                                                                                         </block>
                                                                                                                       </value>
                                                                                                                       <value name="ADD2">
                                                                                                                         <block type="lists_getIndex" id="H^@q`G[tG:Y3:ZT$X8xz">
                                                                                                                           <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="X(Z@($Xrq#KDw~M_5$9e">
                                                                                                                               <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                                                                                             </block>
                                                                                                                           </value>
                                                                                                                           <value name="AT">
                                                                                                                             <block type="math_arithmetic" id="F[tF)M{Gh)R62FpWSzDY">
                                                                                                                               <field name="OP">ADD</field>
                                                                                                                               <value name="A">
                                                                                                                                 <shadow type="math_number">
                                                                                                                                   <field name="NUM">1</field>
                                                                                                                                 </shadow>
                                                                                                                                 <block type="variables_get" id="Y(6lEzjTe7qwF`wT7m=V">
                                                                                                                                   <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                                                 </block>
                                                                                                                               </value>
                                                                                                                               <value name="B">
                                                                                                                                 <shadow type="math_number">
                                                                                                                                   <field name="NUM">1</field>
                                                                                                                                 </shadow>
                                                                                                                                 <block type="math_number" id="z1r`}S%8e6G$KZjz)SXi">
                                                                                                                                   <field name="NUM">1</field>
                                                                                                                                 </block>
                                                                                                                               </value>
                                                                                                                             </block>
                                                                                                                           </value>
                                                                                                                         </block>
                                                                                                                       </value>
                                                                                                                       <value name="ADD3">
                                                                                                                         <block type="lists_getIndex" id="-6`3u0]GG+3z}}OFm2s@">
                                                                                                                           <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="Q4av1{lCW1;0F:eUJvP#">
                                                                                                                               <field name="VAR" id="zg5`*,uA4%`Fg5L@=CAI">schaltbar</field>
                                                                                                                             </block>
                                                                                                                           </value>
                                                                                                                           <value name="AT">
                                                                                                                             <block type="math_arithmetic" id="Z73k;}AOC;8+G/qSIat}">
                                                                                                                               <field name="OP">ADD</field>
                                                                                                                               <value name="A">
                                                                                                                                 <shadow type="math_number">
                                                                                                                                   <field name="NUM">1</field>
                                                                                                                                 </shadow>
                                                                                                                                 <block type="variables_get" id="{.#7[BqG#yjpydkt1F^{">
                                                                                                                                   <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                                                                                                 </block>
                                                                                                                               </value>
                                                                                                                               <value name="B">
                                                                                                                                 <shadow type="math_number">
                                                                                                                                   <field name="NUM">1</field>
                                                                                                                                 </shadow>
                                                                                                                                 <block type="math_number" id="w~6-dt0bLnsDygL*/Teb">
                                                                                                                                   <field name="NUM">1</field>
                                                                                                                                 </block>
                                                                                                                               </value>
                                                                                                                             </block>
                                                                                                                           </value>
                                                                                                                         </block>
                                                                                                                       </value>
                                                                                                                     </block>
                                                                                                                   </value>
                                                                                                                 </block>
                                                                                                               </statement>
                                                                                                               <next>
                                                                                                                 <block type="debug" id="bx6Y8-8%U,x}ZR}zDMCw" disabled="true">
                                                                                                                   <field name="Severity">log</field>
                                                                                                                   <value name="TEXT">
                                                                                                                     <shadow type="text" id="!yx$lDKS!DgZlryJ)%{j">
                                                                                                                       <field name="TEXT">test</field>
                                                                                                                     </shadow>
                                                                                                                     <block type="variables_get" id="IL]^hG54Ej,lhuXqBi2=">
                                                                                                                       <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                                                                                                                     </block>
                                                                                                                   </value>
                                                                                                                   <next>
                                                                                                                     <block type="procedures_callcustomnoreturn" id="1tTT@y+3fd)eq*EKO%`c">
                                                                                                                       <mutation name="tabelleMit3Werten">
                                                                                                                         <arg name="myList"></arg>
                                                                                                                       </mutation>
                                                                                                                       <value name="ARG0">
                                                                                                                         <block type="variables_get" id="T3wm-=*hL+H$*f^H0[J9">
                                                                                                                           <field name="VAR" id="}K$K4dup~Vnv!`[}vnQy">Liste</field>
                                                                                                                         </block>
                                                                                                                       </value>
                                                                                                                     </block>
                                                                                                                   </next>
                                                                                                                 </block>
                                                                                                               </next>
                                                                                                             </block>
                                                                                                           </next>
                                                                                                         </block>
                                                                                                       </next>
                                                                                                     </block>
                                                                                                   </statement>
                                                                                                 </block>
                                                                                               </next>
                                                                                             </block>
                                                                                           </next>
                                                                                         </block>
                                                                                       </next>
                                                                                     </block>
                                                                                   </next>
                                                                                 </block>
                                                                               </next>
                                                                             </block>
                                                                           </next>
                                                                         </block>
                                                                       </next>
                                                                     </block>
                                                                   </next>
                                                                 </block>
                                                               </next>
                                                             </block>
                                                           </next>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                         <block type="procedures_defcustomnoreturn" id="d+PXd6N1nBTxz}gaM@Co" x="463" y="-263">
                                           <mutation statements="false">
                                             <arg name="myList" varid="U3ge^B{?p,jfAdCjS^R`"></arg>
                                           </mutation>
                                           <field name="NAME">tabelleMit3Werten</field>
                                           <field name="SCRIPT">ICAvL0BsaXYtaW4tc2t5IDIwMjAgIDQuMi4tMTg6NDINCg0KDQogLy9ISUVSIFdJUkQgUEZBRCBVTkQgRklMRU5BTUUgREVGSU5JRVJUDQogY29uc3QgcGF0aCA9ICIvaHRtbGV4YW1wbGVzZXR0aW5nLmh0bWwiOyAgICAgICAgICAgICAgICAgICAvL0ZJbGVuYW1lbiBkZWZpbmllcmVuDQogY29uc3QgaG9tZSA9J3Zpcy4wJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vd28gc29sbCBkYXMgZmlsZSBpbSBpb2Jyb2tlci1maWxlLXN5c3RlbSBsaWVnZW4gPyAob2RlciB6LmIgYXVjaCBpcW9udHJvbC5tZXRhKQ0KIGxldCAgIGJyYXVjaGVFaW5GaWxlPWZhbHNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmVpIHRydWUgd2lyZCBlaW4gZmlsZSBnZXNjaHJpZWJlbg0KIGxldCAgIGJyYXVjaGVFaW5WSVNXaWRnZXQ9dHJ1ZTsgICAgICAgICAgICAgICAgICAgICAvLyBiZWkgdHJ1ZSB3aXJkIGVpbiBodG1sLXRhYmVsbGUgaW4gZWluZW4gZHAgZ2VzY2hyaWViZW4gLSBzaWVoZSBuw6RjaHN0ZSB6ZWlsZQ0KIC8vbGV0IGRwVklTPSJjb250cm9sbC1vd24uMC5BQUFURVNULlRlc3RIVE1MIiAgICAgICAgIC8vV0lDSFRJRyB3ZW5uIGJyYXVjaGVFaW5WSVNXaWRnZXQgYXVmIHRydWUgZ2VzZXR6dCAhISAgZHAgenVzw6R0emxpY2ggZsO8ciBWSVMtSFRNTC1CYXNpYy1XaWRnZXQNCiBjb25zdCBmYXJiZVNjaGFsdGVyT049ImxpZ2h0Ymx1ZSIgICAgICAgICAgICAgICAvLyBmYXJiZSBkZXMgc2NoYWx0ZXJzIGbDvHIgT04NCmNvbnN0IGZhcmJlU2NoYWx0ZXJPRkY9ImdyZXkiICAgICAgICAgICAgICAgLy8gZmFyYmUgZGVzIHNjaGFsdGVycyBmw7xyIE9GRg0KDQogLy9sZXQgbXlTY2hlZHVsZT0iICovMjAgKiAqICogKiAqICI7ICAgICAgICAgICAgICAgICAgICAgICAvL2plZGUgbWludXRlICANCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQovL0hJRVIgRElFIFNQQUxURU4gQU5aQUhMIERFRklOSUVSRU4gLSBqZWRlIFNwYWx0ZSBlaW5lbiBXZXJ0IC0gaW4gZGllc2VtIEJlaXNwaWVsIHNpbmQgZXMgMg0KdmFyIGh0bWxGZWxkMT0nU3RhbmRvcnQnOyAgICAgICB2YXIgRmVsZDFsQWxpZ249ImxlZnQiOyAgICAgICAgICAgICAgICAgICAgIC8vIMO8YmVyc2NocmlmdCBUYWJlbGxlbiBTcGFsdGUxIHVuZCAgQXVzcmljaHR1bmcgbGVmdCxyaWdodCBvciBjZW50ZXINCnZhciBodG1sRmVsZDI9J1N0YXR1cyc7ICAgICAgICAgdmFyIEZlbGQybEFsaWduPSJjZW50ZXIiOyAgICAgICAgICAgICAgICAgICAgICAvLyDDvGJlcnNjaHJpZnQgVGFiZWxsZW4gU3BhbHRlMiB1bmQgIEF1c3JpY2h0dW5nIGxlZnQscmlnaHQgb3IgY2VudGVyDQoNCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KDQoNCi8vaGllciB3ZXJkZW4gZGllIHN0eWxlcyBmw7xyIGRpZSB0YWJlbGxlIGRlZmluaWVydA0KLy/DnEJFUlNDSFJJRlQgw5xCRVIgVEFCRUxMRQ0KbGV0ICAgaHRtbFViZXJzY2hyaWZ0PWZhbHNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1pdCDDnGJlcnNjaHJpZnQgw7xiZXIgZGVyIHRhYmVsbGUNCmxldCAgIGh0bWxTaWduYXR1cmU9ZmFsc2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYW5zdGF0dCBkZXIgw5xiZXJzY2docmlmdCBlaW5lIHNpZ25hdHVyZTogLSBrbGVpbmVyIC0gYW5saWVnZW5kDQpjb25zdCBodG1sRmVsZFVlYmVyPSdCYXR0ZXJpZSBadXN0YW5kIFNlbnNvcmVuJzsgICAgICAgICAgICAgIC8vIMOcYmVyc2NocmlmdCB1bmQgU2lnbmF0dXJlDQpjb25zdCBodG1sRmFyYlViZXI9ImJsYWNrIjsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRmFyYmUgZGVyIMOcYmVyc2NocmlmdA0KY29uc3QgaHRtbFNjaHJpZnRXZWl0ZT0ibm9ybWFsIjsgICAgICAgICAgICAgICAgICAgICAgIC8vIGJvbGQsIG5vcm1hbCAtIEZldHRzY2hyaWZ0IGbDvHIgw5xiZXJzY2hyaWZ0DQpjb25zdCBodG1sw5xiZXJGb250R3JvZXNzZT0iMThweCI7ICAgICAgICAgICAgICAgICAgICAgICAvLyBzY2hyaWZ0Z3LDtsOfZSDDvGJlcnNjaHJpZnQNCi8vTUVIUkVSRSBUQUJFTExFTiBORUJFTkVJTkFOREVSDQpsZXQgICBtZWhyZmFjaFRhYmVsbGU9MTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBiaXMgenUgNCBUYWJlbGxlbiB3ZXJkZW4gbmViZW5laW5hbmRlciBnZXNjaHJpZWJlbi0gIHZlcmvDvHJ6dCBkYXMgR2FuemUsIGRhZsO8ciBldHdhcyBicmVpdGVyIC0gTcOWR0xJQ0ggMSwyLDMsb2RlciA0ICEhIQ0KY29uc3QgdHJlbm51bmdzTGluaWU9IjIiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9leHRyYSB0cmVubnVuZ3NsaW5pZSBiZWkgbWVocmZhY2h0YWJlbGxlbiAtIGV2dGwgYXVmIDAgc3RlbGxlbiwgd25uIGh0bWxSYWhtZW5MaW5pZW4gYXVmIG5vbmUgc2luZA0KY29uc3QgZmFyYmV0cmVubnVuZ3NMaW5pZT0id2hpdGUiOw0KY29uc3QgaHRtbEZhcmJad2VpdGVUYWJlbGxlPSJ3aGl0ZSI7ICAgICAgICAgICAgICAgIC8vIEZhcmJlIGRlciDDnGJlcnNjaHJpZnQgYmVpIGplZGVyIDIudGVuIFRhYmVsbGUNCmNvbnN0IGh0bWxGYXJiVGFibGVDb2xvclViZXI9IiMwMDAwMDAiOyAgICAgICAgICAgICAgIC8vIMOcYmVyc2NocmlmdCBpbiBkZXIgdGFiZWxsZSAtIGRlciBlaW56ZWxuZW4gU3BhbHRlbg0KLy/DnEJFUlNDSFJJRlQgU1BBTFRFTg0KY29uc3QgVWViZXJTY2hyaWZ0SMO2aGU9IjM1IjsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vw5xiZXJzY2hyaWZ0IGJla29tbXQgbWVociBSYXVtIC0gZGFydW50ZXIgdW5kIGRhcsO8YmVyIC0gWmVsbGVuaMO2aGUNCmNvbnN0IExpbmllVW50ZXJVZWJlcnNjaHJpZnQ9IjMiOyAgICAgICAgICAgICAgICAgICAvLyBMaW5pZSBudXIgdW50ZXIgU3BhbHRlbsO8YmVyc2NocmlmdCAtIA0KY29uc3QgZmFyYmVMaW5pZVVudGVyVWViZXJzY2hyaWZ0PSJ3aGl0ZSI7DQpjb25zdCBncm9lc3NlVWViZXJzY2hyaWZ0PTE2Ow0KY29uc3QgVWViZXJzY2hyaWZ0U3R5bGU9Im5vcm1hbCIgICAgICAgICAgICAgICAgICAgICAvLyBtw7ZnbGljaCAiYm9sZCINCi8vR0FOWkUgVEFCRUxMRQ0KbGV0IGFic3RhbmRaZWxsZT0iMSI7DQpsZXQgZmFyYmVVbmdlcmFkZVplaWxlbj0iIzAwMDAwMCI7ICAgICAgICAgICAgICAgICAgICAgLy9GYXJiZSBmw7xyIHVuZ2VyYWRlIFplaWxlbmFuemFobCAtIEhpbnRlcmdydW5kIGRlciBTcGFsdGVuw7xiZXJzY2hyaWZ0IGJsZWlidCBiZWkgaHRtbEZhcmJUYWJsZUNvbG9yR3JhZGllbnQxLzINCmxldCBmYXJiZUdlcmFkZVplaWxlbj0iIzE1MTUxNSI7ICAgICAgICAgICAgICAgICAgICAgICAgLy9GYXJiZSBmw7xyIGdlcmFkZSBaZWlsZW5hbnphaGwgLSBIaW50ZXJncnVuZCBkZXIgU3BhbHRlbsO8YmVyc2NocmlmdCBibGVpYnQgYmVpIGh0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50MS8yDQpsZXQgd2VpdGU9IjQwMHB4IjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9XZWl0ZSBkZXIgVGFiZWxsZQ0KbGV0IHplbnRyaWVydD10cnVlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9nYW56ZSB0YWJlbGxlIHplbnRyaWVydA0KY29uc3QgYmFja2dyb3VuZEFsbD0iIzAwMDAwMCI7ICAgICAgICAgICAgICAgICAgICAgICAgLy9IaW50ZXJncnVuZCBmw7xyIGRpZSBnYW56ZSBTZWl0ZSAtIGbDvHIgZGlyZWt0ZW4gYXVmcnVmIG9kZXIgaXFvbnRyb2wgc2ljaHRiZXIgLSBrZWluZSBhdXN3aXJrdW5nIGF1ZiB2aXMtd2lkZ2V0DQpjb25zdCBodG1sU2NocmlmdGFydD0iSGVsdmV0aWNhIjsNCmNvbnN0IGh0bWxTY2hyaWZ0Z3JvZXNzZT0iMThweCI7DQovL0ZFTERFUiBVTkQgUkFITUVODQpsZXQgICBVZWJlcnNjaHJpZnRTcGFsdGVuPXRydWU7ICAgICAgICAgICAgICAgIC8vIGVpbi0gb2RlciBhdXNibGVuZGVuIGRlciBzcGF0bGVuLcO8YmVyc2NocmlmdGVuDQpjb25zdCBodG1sRmFyYkZlbGRlcnNjaHJpZnQ9IiNCREJEQkQiOyAgICAgICAgICAgICAgICAgIC8vIFNjaHJpZnRGYXJiZSBkZXIgRmVsZGVyDQpjb25zdCBodG1sRmFyYkZlbGRlcnNjaHJpZnQyPSIjRDhEOEQ4IjsgICAgICAgICAgICAgICAgIC8vIFNjaHJpZnRGYXJiZSBkZXIgRmVsZGVyIGbDvHIgamVkZSAydGUgVGFiZWxsZQ0KY29uc3QgaHRtbEZhcmJUYWJsZUNvbG9yR3JhZGllbnQxPSIjQ0REMTYzIjsgICAgICAgICAgLy8gIEdyYWRpZW50IC0gSGludGVyZ3J1bmQgZGVyIFRhYmVsbGUgLSBWZXJsYXVmZmFyYmUNCmNvbnN0IGh0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50Mj0iI0NERDE2MyI7ICAgICAgICAgIC8vICBHcmFkaWVudCAtIEhpbnRlcmdydW5kIGRlciBUYWJlbGxlIC0gaXN0IGRpZXNlciBXZXJ0IGdsZWljaCBHcmFkaWVudDEgZ2lidCBlcyBrZWluZW4gdmVybGF1Zg0KY29uc3QgaHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yPSJncmV5IjsgICAgICAgICAgICAgLy8gRmFyYmUgZGVzIFJhaG1lbiAtIGlzIHRkaWVzZXIgZ2xlaWNoIGRlbiBncmFkaWVudGVuLCBzaW5kIGRpZSByYWhtZW4gdW5zaWNodGJhcg0KbGV0IGh0bWxSYWhtZW5MaW5pZW49ImNvbHMiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGb3JtYXQgZsO8ciBSYWhtZW46IE3DlkdMSUNIOiAibm9uZSIgb2RlciAiYWxsIiBvZGVyICJjb2xzIiBvZGVyICJyb3dzIg0KY29uc3QgaHRtbFNwYWx0ZTFXZWl0ZT0iYXV0byI7ICAgICAgICAgICAgICAgICAgIC8vICBXZWl0ZSBkZXIgZXJzdGVuIGJlaWRlbiAgU3BhbHRlbiBvZGVyIHouYi4gMTE1cHgNCg0KLy8gSElFUiBOSUNIVFMgIMOETkRFUk4NCg0KbGV0IGJvcmRlckhlbHBCb3R0dW07DQpsZXQgYm9yZGVySGVscFJpZ2h0Ow0KbGV0IGh0bWxjZW50ZXJIZWxwOw0KbGV0IGh0bWxjZW50ZXJIZWxwMjsNCg0KaWYoaHRtbFJhaG1lbkxpbmllbj09InJvd3MiKSB7Ym9yZGVySGVscEJvdHR1bT0xO2JvcmRlckhlbHBSaWdodD0wO30NCmlmKGh0bWxSYWhtZW5MaW5pZW49PSJjb2xzIikge2JvcmRlckhlbHBCb3R0dW09MDtib3JkZXJIZWxwUmlnaHQ9MTt9DQppZihodG1sUmFobWVuTGluaWVuPT0ibm9uZSIpIHtib3JkZXJIZWxwQm90dHVtPTA7Ym9yZGVySGVscFJpZ2h0PTA7fQ0KaWYoaHRtbFJhaG1lbkxpbmllbj09ImFsbCIpICB7Ym9yZGVySGVscEJvdHR1bT0xO2JvcmRlckhlbHBSaWdodD0xO30NCnplbnRyaWVydCA/IGh0bWxjZW50ZXJIZWxwPSJhdXRvIiA6IGh0bWxjZW50ZXJIZWxwPSJsZWZ0IjsNCnplbnRyaWVydCA/IGh0bWxjZW50ZXJIZWxwMj0iY2VudGVyIiA6IGh0bWxjZW50ZXJIZWxwMj0ibGVmdCI7DQoNCg0KY29uc3QgaHRtbFplbnRyaWVydD0nPGNlbnRlcj4nDQpjb25zdCBodG1sU3RhcnQ9ICAgICI8IURPQ1RZUEUgaHRtbD48aHRtbCBsYW5nPVwiZGVcIj48aGVhZD48dGl0bGU+Vm9ybGFnZTwvdGl0bGU+PG1ldGEgaHR0cC1lcXVpdj1cImNvbnRlbnQtdHlwZVwiIGNvbnRlbnQ9XCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLThcIj4iKw0KICAgICAgICAgICAgICAgICAgIjxzdHlsZT4gKiB7ICBtYXJnaW46IDA7fSBib2R5IHtiYWNrZ3JvdW5kLWNvbG9yOiAiK2JhY2tncm91bmRBbGwrIjsgbWFyZ2luOiAwIGF1dG87ICB9IisNCiAgICAgICAgICAgICAgICAgICIgcCB7cGFkZGluZy10b3A6IDEwcHg7IHBhZGRpbmctYm90dG9tOiAxMHB4OyB0ZXh0LWFsaWduOiAiK2h0bWxjZW50ZXJIZWxwMisifSIrDQogICAgICAgICAgICAgICAgIC8vICIgZGl2IHsgbWFyZ2luOiAwIGF1dG87ICBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvO30iKw0KICAgICAgICAgICAgICAgICAgIiB0ZCB7IHBhZGRpbmc6IithYnN0YW5kWmVsbGUrInB4OyBib3JkZXI6MHB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7ICBib3JkZXItcmlnaHQ6Iitib3JkZXJIZWxwUmlnaHQrInB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7Ym9yZGVyLWJvdHRvbToiK2JvcmRlckhlbHBCb3R0dW0rInB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7fSIrIA0KICAgICAgICAgICAgICAgICAgIiB0YWJsZSB7IHdpZHRoOiAiK3dlaXRlKyI7ICBtYXJnaW46IDAgIitodG1sY2VudGVySGVscCsiOyBib3JkZXI6MXB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7IGJvcmRlci1zcGFjaW5nPVwiIithYnN0YW5kWmVsbGUrIjBweFwiIDsgfSIrICAgLy8gbWFyZ2luIG1hY2h0IGNlbnRlcg0KICAgICAgICAgICAgICAgICAgInRkOm50aC1jaGlsZCgxKSB7d2lkdGg6ICIraHRtbFNwYWx0ZTFXZWl0ZSsifSIrInRkOm50aC1jaGlsZCgyKSB7d2lkdGg6IitodG1sU3BhbHRlMVdlaXRlKyJ9IisNCiAgICAgICAgICAgICAgICAgICIgPC9zdHlsZT48L2hlYWQ+PGJvZHk+IDxkaXY+IjsNCi8vY29uc3QgaHRtbFVlYmVyPSAgICAiPHAgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiVWJlcisiOyBmb250LWZhbWlseToiK2h0bWxTY2hyaWZ0YXJ0KyI7IGZvbnQtd2VpZ2h0OiBib2xkXCI+IitodG1sRmVsZFVlYmVyKyI8L3A+IjsgICAgICAgICAgICAgICAgICAgIA0KY29uc3QgaHRtbFRhYlN0eWxlPSAiPHRhYmxlIGJvcmRlcmNvbG9yPVwiIitodG1sRmFyYlRhYmxlQm9yZGVyQ29sb3IrIlwiIGJvcmRlcj1cIjJweFwiIGNlbGxzcGFjaW5nPVwiIithYnN0YW5kWmVsbGUrIlwiIGNlbGxwYWRkaW5nPVwiIithYnN0YW5kWmVsbGUrIlwiIHdpZHRoPVwiIit3ZWl0ZSsiXCIgcnVsZXM9XCIiK2h0bWxSYWhtZW5MaW5pZW4rIlwiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQrIjsgIGZvbnQtc2l6ZToiK2h0bWxTY2hyaWZ0Z3JvZXNzZSsNCiAgICAgICAgICAgICAgICAgICAgICI7IGZvbnQtZmFtaWx5OiIraHRtbFNjaHJpZnRhcnQrIjtiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDJkZWcsIitodG1sRmFyYlRhYmxlQ29sb3JHcmFkaWVudDIrIiwiK2h0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50MSsiKTtcIj4iOw0KY29uc3QgaHRtbFRhYlVlYmVyMT0iPHRyIGhlaWdodD1cIiIrVWViZXJTY2hyaWZ0SMO2aGUrIlwiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYlRhYmxlQ29sb3JVYmVyKyI7IGZvbnQtc2l6ZTogIitncm9lc3NlVWViZXJzY2hyaWZ0KyJweDsgZm9udC13ZWlnaHQ6ICIrVWViZXJzY2hyaWZ0U3R5bGUrIiA7ICBib3JkZXItYm90dG9tOiAiK0xpbmllVW50ZXJVZWJlcnNjaHJpZnQrInB4IHNvbGlkICIrZmFyYmVMaW5pZVVudGVyVWViZXJzY2hyaWZ0KyIgXCI+IjsNCmNvbnN0IGh0bWxUYWJVZWJlcjM9IjwvdHI+IjsNCg0KY29uc3QgYnV0dG9uU2NyaXB0ID0gICc8c2NyaXB0PiBmdW5jdGlvbiBzZXRPbkRibENsaWNrQ3VzdG9tKCBteXZhbHVlICkgewl2YXIgU2VsZiA9IHRoaXM7IHZhciBvYmpJRCA9IG15dmFsdWU7CVNlbGYuc2VydkNvbm4uZ2V0U3RhdGVzKG9iaklELCAoZXJyb3IsIHN0YXRlcykgPT4geyAgY29uc29sZS5sb2coc3RhdGVzKTsgIFNlbGYuc2VydkNvbm4uc2V0U3RhdGUob2JqSUQsICFzdGF0ZXNbb2JqSURdLnZhbCk7IH0pOyB9IDwvc2NyaXB0PicNCg0KLy8vL05JQ0hUUyDDhE5ERVJOICAtIGFiaMOkbmdpZyB2b24gZGVuIG9iZW4gZGVmaW5pZXJ0ZW4gX1NwYWx0ZW4gLSBpbiBkaWVzZW0gQmVpc3BpZWwgc2luZCBlcyAyDQoNCnZhciBodG1sVGFiVWViZXIyPSI8dGQgd2lkdGg9IitodG1sU3BhbHRlMVdlaXRlKyIgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIraHRtbEZlbGQxKyImZW5zcDs8L3RkPjx0ZCB3aWR0aD0iK2h0bWxTcGFsdGUxV2VpdGUrIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7IitodG1sRmVsZDIrIiZlbnNwOzwvdGQ+IjsNCnZhciBodG1sVGFiVWViZXIyXzE9Ijx0ZCB3aWR0aD0iK2h0bWxTcGFsdGUxV2VpdGUrIiBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiWndlaXRlVGFiZWxsZSsiXCI+JmVuc3A7IitodG1sRmVsZDErIiZlbnNwOzwvdGQ+PHRkIHdpZHRoPSIraHRtbFNwYWx0ZTFXZWl0ZSsiIGFsaWduPSIrRmVsZDJsQWxpZ24rIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJad2VpdGVUYWJlbGxlKyJcIj4mZW5zcDsiK2h0bWxGZWxkMisNCiAgICAgICAgICAgICAgICAgICAgIiZlbnNwOzwvdGQ+IjsNCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogDQoNCnZhciBodG1sT3V0PSIiOw0KdmFyIG1peDsNCnZhciBjb3VudGVyOw0KdmFyIHZhbDE7ICB2YXIgdmFsMDsNCnZhciBodG1sVGFiVWViZXI9IiI7DQoNCmZ1bmN0aW9uIHdyaXRlSFRNTCgpew0KDQoNCg0KaHRtbE91dD0iIjsNCg0KY291bnRlcj0tMTsNCmh0bWxUYWJVZWJlcj0iIjsNCnN3aXRjaCAobWVocmZhY2hUYWJlbGxlKSB7IA0KICAgIGNhc2UgMTogaHRtbFRhYlVlYmVyPWh0bWxUYWJVZWJlcjEraHRtbFRhYlVlYmVyMitodG1sVGFiVWViZXIzOyAgYnJlYWs7DQogICAgY2FzZSAyOiBodG1sVGFiVWViZXI9aHRtbFRhYlVlYmVyMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIzOyBicmVhazsNCiAgICBjYXNlIDM6IGh0bWxUYWJVZWJlcj1odG1sVGFiVWViZXIxK2h0bWxUYWJVZWJlcjIraHRtbFRhYlVlYmVyMl8xK2h0bWxUYWJVZWJlcjIraHRtbFRhYlVlYmVyMzsgYnJlYWs7DQogICAgY2FzZSA0OiBodG1sVGFiVWViZXI9aHRtbFRhYlVlYmVyMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIzOyBicmVhazsNCn07ICAgIA0KaWYgKCFVZWJlcnNjaHJpZnRTcGFsdGVuKSB7aHRtbFRhYlVlYmVyPSIifQ0KDQogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIC8vLS0tLS0tLS0taGllciBrb21tdCBldXJlIHNjaGxlaWZlIHJlaW4gY291bnRlcisrLCB0YWJlbGxlQmluZCgpIHVuZCB0YWJlbGxlRmluaXNoKCkgbcO8c3NlbiBzbyBpbnRlZ3JpZXJ0IGJsZWliZW4gISEhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogLy8tLS0tLS0tLS1hbGxlIHZhbHggd2VydGUgbcO8c3NlbiB2b24gZXVjaCBiZXN0aW1tdCB3ZXJkZW4gLSB2YWwwLHZhbDEgISEhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQogIGZvciAobGV0IHg9MDt4PG15TGlzdC5sZW5ndGg7eCsrKXsNCiAgICAgIGNvdW50ZXIrKzsNCiAgICAgLy8gbG9nKCItLS0iICtteUxpc3RbeF1bMF0gKQ0KICAgICAgaWYobXlMaXN0W3hdWzBdIT1udWxsKXsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwwICA9IG15TGlzdFt4XVswXTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwxICA9IG15TGlzdFt4XVsxXQ0KICAgIC8vIGxvZyh2YWwwKQ0KICAgICAgICAgICAgICAgICAgbGV0IHZhbEJ1dHRvbj1teUxpc3RbeF1bMl0NCiAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgaWYgKG15TGlzdFt4XVszXSl7DQogICAgICAgICAgICAgICAgICB2YWwxID8gdmFsMT0iPGJ1dHRvbiBzdHlsZVw9XCJib3JkZXI6bm9uZVw7IGJhY2tncm91bmQtY29sb3JcOnRyYW5zcGFyZW50XDsgY29sb3JcOndoaXRlXDsgZm9udFwtc2l6ZVw6MWVtXDsgdGV4dFwtYWxpZ246bGVmdFwiIHZhbHVlPVwidG9nZ2xlXCIgb25jbGljaz1cInNldE9uRGJsQ2xpY2tDdXN0b21cKFwnIit2YWxCdXR0b24rIlwnKVwiPiIrIjxpbWcgc3JjPSIrc3ltYm9sU3dpdGNoT04gKyIgaGVpZ2h0PVwiIitiaWxkZ3JvZXNzZUhvY2grIlwiIHdpZHRoPVwiIitiaWxkZ3JvZXNzZUJyZWl0KyJcIj4iKyAiPC9idXR0b24+IiA6DQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwxPSI8YnV0dG9uIHN0eWxlXD1cImJvcmRlcjpub25lXDsgYmFja2dyb3VuZC1jb2xvclw6dHJhbnNwYXJlbnRcOyBjb2xvclw6d2hpdGVcOyBmb250XC1zaXplXDoxZW1cOyB0ZXh0XC1hbGlnbjpsZWZ0XCIgdmFsdWU9XCJ0b2dnbGVcIiBvbmNsaWNrPVwic2V0T25EYmxDbGlja0N1c3RvbVwoXCciK3ZhbEJ1dHRvbisiXCcpXCI+IisiPGltZyBzcmM9IitzeW1ib2xTd2l0Y2hPRkYgKyIgaGVpZ2h0PVwiIitiaWxkZ3JvZXNzZUhvY2grIlwiIHdpZHRoPVwiIitiaWxkZ3JvZXNzZUJyZWl0KyJcIj4iKyI8L2J1dHRvbj4iOw0KICAgICAgICAgICAgICAgICAgfSBlbHNlew0KICAgICAgICAgICAgICAgICAgICAgdmFsMSA/IHZhbDE9IjxpbWcgc3JjPSIrc3ltYm9sU3dpdGNoT04gKyIgaGVpZ2h0PVwiIitiaWxkZ3JvZXNzZUhvY2grIlwiIHdpZHRoPVwiIitiaWxkZ3JvZXNzZUJyZWl0KyJcIj4iICA6IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbDE9IjxpbWcgc3JjPSIrc3ltYm9sU3dpdGNoT0ZGICsiIGhlaWdodD1cIiIrYmlsZGdyb2Vzc2VIb2NoKyJcIiB3aWR0aD1cIiIrYmlsZGdyb2Vzc2VCcmVpdCsiXCI+IiANCiAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgaWYgKHZhbDE9PWZhbHNlKSB7dmFsMT0i4p2MIn0gZWxzZXt2YWwxPSLinIUifSAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJlbGxlQmluZCgpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07IC8vU2NobGVpZmVuIEVuZGUgLSBqZSBuYWNoIHNjaGxlaWZlbmFydCBtdXNzIGhpZXIgZXR3YXMgZ2XDpG5kZXJ0IHdlcmRlbiAhISEhISEhISENCg0KfSB0YWJlbGxlRmluaXNoKCk7DQogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAgDQoNCiAgICAgIC8vIEFCIEhJRVIgTklDSFRTIMOETkRFUk4gLSB0YWJlbGxlIGZlcnRpZ3N0ZWxsZW4NCiAgICAgIA0KfSAvLyBmdW5jdGlvbiBlbmRlDQogDQogLy9NQUlOOg0KICANCg0KIHdyaXRlSFRNTCgpOw0KDQogZnVuY3Rpb24gdGFiZWxsZUJpbmQoKXsNCiAgICAgICAgc3dpdGNoIChtZWhyZmFjaFRhYmVsbGUpIHsgIA0KICAgICAgICAgIGNhc2UgMTogIGlmKGNvdW50ZXIlMj09MCkgICAgICAgICB7ICAgaHRtbE91dD1odG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVHZXJhZGVaZWlsZW4rIlwiPjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPjwvdHI+IjsgYnJlYWs7ICB9IGVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAgIGh0bWxPdXQ9aHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlVW5nZXJhZGVaZWlsZW4rIlwiPjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPjwvdHI+IjsgYnJlYWs7ICB9DQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgICAgICAgICBjYXNlIDI6ICBpZihjb3VudGVyJTQ9PTApew0KICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlMj09MCkgIHtodG1sT3V0ID0gaHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlR2VyYWRlWmVpbGVuKyJcIiA+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI7XCJhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7IH0gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge2h0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkICBhbGlnbj0iK0ZlbGQybEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iO30gYnJlYWs7DQogICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgICAgaWYoY291bnRlciUyPT0wKSAge2h0bWxPdXQgPSBodG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVVbmdlcmFkZVplaWxlbisiXCI+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyI7XCIgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iOyB9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtodG1sT3V0ID0gaHRtbE91dCsiPHRkICBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCIgY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkICBhbGlnbj0iK0ZlbGQybEFsaWduKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iO30gYnJlYWs7fQ0KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAgICAgICAgICAgICAgDQogICAgICAgICAgY2FzZSAzOiBpZihjb3VudGVyJTI9PTApICAgew0KICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgaWYoY291bnRlciUzPT0wICkgIHtodG1sT3V0ID0gaHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlR2VyYWRlWmVpbGVuKyJcIj48dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhcmJldHJlbm51bmdzTGluaWUrIjtcIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7IH0gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgeyBpZihjb3VudGVyJTM9PTEgKSAgeyBodG1sT3V0ID0gaHRtbE91dCsiPHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCAgYWxpZ249IitGZWxkMmxBbGlnbisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHN0eWxlPVwiYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIjtjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iO30gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgICB7aHRtbE91dCA9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPjwvdHI+Ijt9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBicmVhazsgfWVsc2V7DQogICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTM9PTAgKSAge2h0bWxPdXQgPSBodG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVVbmdlcmFkZVplaWxlbisiXCI+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYXJiZXRyZW5udW5nc0xpbmllKyI7XCIgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iOyB9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsgaWYoY291bnRlciUzPT0xICkgIHsgaHRtbE91dCA9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSIrRmVsZDJsQWxpZ24rDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBzdHlsZT1cImJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyI7Y29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+Ijt9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgICAge2h0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD48L3RyPiI7fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gYnJlYWs7ICB9ICAgICAgICAgICAgICAgICAgICAgICANCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSANCiAgICAgICAgICBjYXNlIDQ6IC8vY291bnRlcj1jb3VudGVyKzggDQogICAgICAgICAgaWYoY291bnRlciU4PT0wKSAgIHsNCiAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTQ9PTApICB7aHRtbE91dCA9IGh0bWxPdXQrIjx0ciBiZ2NvbG9yPVwiIitmYXJiZUdlcmFkZVplaWxlbisiXCI+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYXJiZXRyZW5udW5nc0xpbmllKyI7XCIgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iOyB9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7aWYoY291bnRlciU0PT0xICkgIHsgaHRtbE91dCA9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSIrRmVsZDJsQWxpZ24rDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7fSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlICAgIHtpZihjb3VudGVyJTQ9PTMpICB7IGh0bWxPdXQ9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSIrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZlbGQybEFsaWduKyIgc3R5bGU9XCJib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiOyBjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iO30gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgICB7aHRtbE91dCA9IGh0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgK2ZhcmJldHJlbm51bmdzTGluaWUrIjtcIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7fX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGJyZWFrO31lbHNlew0KICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlND09MCkgIHtodG1sT3V0ID0gaHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlVW5nZXJhZGVaZWlsZW4rIlwiPjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFyYmV0cmVubnVuZ3NMaW5pZSsiO1wiIGFsaWduPSIrRmVsZDJsQWxpZ24rIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+IjsgfSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge2lmKGNvdW50ZXIlND09MSApICB7IGh0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkICBhbGlnbj0iK0ZlbGQybEFsaWduKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgc3R5bGU9XCJib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiO2NvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7fSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlICAgIHtpZihjb3VudGVyJTQ9PTMpICB7IGh0bWxPdXQ9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgK0ZlbGQybEFsaWduKyIgc3R5bGU9XCIgY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iO30gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgICB7aHRtbE91dCA9IGh0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhcmJldHJlbm51bmdzTGluaWUrIjtcIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7fX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ICBicmVhazsgICB9ICAgICAgICAgICAgICAgICAgICAgDQoNCiAgICAgIH0gLy9zd2l0Y2ggZW5kZQ0KDQogfQ0KDQogZnVuY3Rpb24gdGFiZWxsZUZpbmlzaCgpIHsNCg0KICAgICAgICBzd2l0Y2ggKG1laHJmYWNoVGFiZWxsZSkgeyAgDQogICAgICAgICAgY2FzZSAxOiAgICBicmVhazsNCiAgICAgICAgICBjYXNlIDI6ICAgIGlmKGNvdW50ZXIlMj09MCkgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAnPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48L3RyPicpOyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICBjYXNlIDM6ICAgIGlmKGNvdW50ZXIlMz09MikgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAiPC90ZD48L3RyPiIpOw0KICAgICAgICAgICAgICAgICAgICAgaWYoY291bnRlciUzPT0xKSAgaHRtbE91dCA9IGh0bWxPdXQucmVwbGFjZSgvPFwvdGQ+JC8sICAnPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48L3RyPicpOyAgICAgICANCiAgICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlMz09MCkgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAiPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIlwiPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PC90cj4iKTsNCiAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgIGNhc2UgNDogICAgaWYoY291bnRlciU0PT0zKSAgaHRtbE91dCA9IGh0bWxPdXQucmVwbGFjZSgvPFwvdGQ+JC8sICI8L3RkPjwvdHI+Iik7DQogICAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTQ9PTIpICBodG1sT3V0ID0gaHRtbE91dC5yZXBsYWNlKC88XC90ZD4kLywgIjwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PC90cj4iKTsNCiAgICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlND09MSkgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAiPC90ZD48dGQ+JmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIlwiPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PC90cj4iKTsgICAgDQogICAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTQ9PTApICBodG1sT3V0ID0gaHRtbE91dC5yZXBsYWNlKC88XC90ZD4kLywgIjwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyJcIj4mZW5zcDs8L3RkPjx0ZD4mZW5zcDs8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiXCI+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48L3RyPiIpOyAgIA0KICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOyB9DQogICAgICAgICAgIHZhciBodG1sVWViZXI9ICAgICI8cCBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJVYmVyKyI7IGZvbnQtZmFtaWx5OiIraHRtbFNjaHJpZnRhcnQrIjsgZm9udC1zaXplOiAiK2h0bWzDnGJlckZvbnRHcm9lc3NlKyI7IGZvbnQtd2VpZ2h0OiIraHRtbFNjaHJpZnRXZWl0ZSsgIlwiPiIraHRtbEZlbGRVZWJlcisiJmVuc3A7JmVuc3A7TGFzdCBVcGRhdGU6ICIrZm9ybWF0RGF0ZShnZXREYXRlT2JqZWN0KChwYXJzZUZsb2F0KChuZXcgRGF0ZSgpLmdldFRpbWUoKSkpKSksICJTUzptbTpzcyIpOysiPC9wPiI7IA0KICAgICAgICB2YXIgaHRtbFVudGVyPSAiPGRpdiAgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiVWJlcisiOyBmb250LWZhbWlseToiK2h0bWxTY2hyaWZ0YXJ0KyI7IGZvbnQtc2l6ZTogNzAlOyB0ZXh0LWFsaWduOiByaWdodDtcIiA+IitodG1sRmVsZFVlYmVyKyImZW5zcDsmZW5zcDtMYXN0IFVwZGF0ZTogIitmb3JtYXREYXRlKGdldERhdGVPYmplY3QoKHBhcnNlRmxvYXQoKG5ldyBEYXRlKCkuZ2V0VGltZSgpKSkpKSwgIlNTOm1tOnNzIik7KyI8L2Rpdj4iDQogICAgICAgICANCiAgICAgICAgIGlmICghaHRtbFNpZ25hdHVyZSkgaHRtbFVudGVyPSIiOw0KICAgICAgICAgICAvL0F1c2dhYmUgw7xiZXIgVklTIGh0bWwgd2lkZ2V0IC0gdGFiZWxsZSBpbiBkYXRlbnB1bmt0IHNjaHJlaWJlbiAtIGh0bWwgdGFiZWxsZSBvaG5lIGh0bWwgaGVhZGVyIHVuZCBib2R5DQogICAgICAgICAgICB2YXIgaHRtbE91dFZJUz0iIjsNCiAgICAgICAgICAvLyAgaHRtbFViZXJzY2hyaWZ0ID8gaHRtbE91dFZJUz1odG1sVWViZXIraHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0KyI8L3RhYmxlPiIgOiBodG1sT3V0VklTPWh0bWxUYWJTdHlsZStodG1sVGFiVWViZXIraHRtbE91dCsiPC90YWJsZT4iOw0KICAgICAgICAgICAgIGlmIChodG1sVWJlcnNjaHJpZnQpIA0KICAgICAgICAgICAgICAgICB7IHplbnRyaWVydCA/IGh0bWxPdXRWSVM9aHRtbFplbnRyaWVydCtodG1sVWViZXIraHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0KyI8L3RhYmxlPiIraHRtbFVudGVyKyBidXR0b25TY3JpcHQgOiBodG1sT3V0VklTPWh0bWxVZWJlcitodG1sVGFiU3R5bGUraHRtbFRhYlVlYmVyK2h0bWxPdXQrIjwvdGFibGU+IitodG1sVW50ZXIrIGJ1dHRvblNjcmlwdCA7DQoNCiAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgemVudHJpZXJ0ID8gIGh0bWxPdXRWSVM9aHRtbFplbnRyaWVydCtodG1sVGFiU3R5bGUraHRtbFRhYlVlYmVyK2h0bWxPdXQrIjwvdGFibGU+IitodG1sVW50ZXIrIGJ1dHRvblNjcmlwdCA6ICBodG1sT3V0VklTPWh0bWxUYWJTdHlsZStodG1sVGFiVWViZXIraHRtbE91dCsiPC90YWJsZT4iK2h0bWxVbnRlcisgYnV0dG9uU2NyaXB0Ow0KDQogICAgICAgICAgICAgICAgICB9DQoNCiAgIC8vIGxvZygiYmluIHJhdXMgYXVzIHRhYmVsbGVCaW5kIik7DQogICAgICAgICAgICBpZiAoYnJhdWNoZUVpblZJU1dpZGdldCkgc2V0U3RhdGUoZHBWSVMsIGh0bWxPdXRWSVMgKTsNCg0KICB2YXIgaHRtbFVudGVyPSAiPGRpdiAgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiVWJlcisiOyBmb250LWZhbWlseToiK2h0bWxTY2hyaWZ0YXJ0KyI7IGZvbnQtc2l6ZTogODAlOyAgdGV4dC1hbGlnbjogY2VudGVyOyBcIiA+IitodG1sRmVsZFVlYmVyKyImZW5zcDsmZW5zcDtMYXN0IFVwZGF0ZTogIitmb3JtYXREYXRlKGdldERhdGVPYmplY3QoKHBhcnNlRmxvYXQoKG5ldyBEYXRlKCkuZ2V0VGltZSgpKSkpKSwgIlNTOm1tOnNzIik7KyI8L2Rpdj4iDQogDQogIGlmICghaHRtbFNpZ25hdHVyZSkgaHRtbFVudGVyPSIiOw0KICB2YXIgaHRtbEVuZD0iPC90YWJsZT4iK2h0bWxVbnRlcisiPC9kaXY+PC9ib2R5PiI7DQogIC8vbWl0IG9kZXIgb2huZSDDvGJlcnNjaHJpZnQgLSB6ZW50cmllcnQgb2RlciBsaW5rcw0KIGh0bWxVYmVyc2NocmlmdCA/IGh0bWxPdXQ9aHRtbFN0YXJ0K2h0bWxVZWJlcitodG1sVGFiU3R5bGUraHRtbFRhYlVlYmVyK2h0bWxPdXQraHRtbEVuZCArIGJ1dHRvblNjcmlwdDogaHRtbE91dD1odG1sU3RhcnQraHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0K2h0bWxFbmQrIGJ1dHRvblNjcmlwdDsNCiAgLy9sb2coaHRtbE91dCk7DQoNCg0KIH0NCg0K</field>
                                           <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                         </block>
                                         <block type="math_arithmetic" id=";();%c,XdRtp2qG0fnLn" disabled="true" x="938" y="212">
                                           <field name="OP">ADD</field>
                                           <value name="A">
                                             <shadow type="math_number">
                                               <field name="NUM">1</field>
                                             </shadow>
                                             <block type="variables_get" id="c7_hG$]VNtu*W)j{rgV8">
                                               <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <shadow type="math_number" id="{kQj+Wg[(_hvMjNH41/3">
                                               <field name="NUM">1</field>
                                             </shadow>
                                           </value>
                                         </block>
                                         <block type="debug" id="hd*A({[CriUUg1PfZ.0:" disabled="true" x="662" y="662">
                                           <field name="Severity">log</field>
                                           <value name="TEXT">
                                             <shadow type="text">
                                               <field name="TEXT">test</field>
                                             </shadow>
                                             <block type="text_join" id="6qbWj3lR`EWRgS!bsU)9">
                                               <mutation items="7"></mutation>
                                               <value name="ADD0">
                                                 <block type="lists_getIndex" id="q:v0yB%TMb@@O,|TFsEf">
                                                   <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="B:q#r-vO?e(nH(1,fUYi">
                                                       <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                     </block>
                                                   </value>
                                                   <value name="AT">
                                                     <block type="math_arithmetic" id=".7}^relhMv#+5EB5NUyG">
                                                       <field name="OP">ADD</field>
                                                       <value name="A">
                                                         <shadow type="math_number">
                                                           <field name="NUM">1</field>
                                                         </shadow>
                                                         <block type="variables_get" id="-@Q*,CArwb`sh]coX8-Y">
                                                           <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                         </block>
                                                       </value>
                                                       <value name="B">
                                                         <shadow type="math_number">
                                                           <field name="NUM">1</field>
                                                         </shadow>
                                                         <block type="math_number" id="z%fF-%P{6I8[cGa52tbl">
                                                           <field name="NUM">1</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <value name="ADD1">
                                                 <block type="text" id="RrGQLg*bYNx$Cf?)q3?J">
                                                   <field name="TEXT"> ----- </field>
                                                 </block>
                                               </value>
                                               <value name="ADD2">
                                                 <block type="get_value_var" id="M9T/ynSkYF@HaETT`Eyb">
                                                   <field name="ATTR">val</field>
                                                   <value name="OID">
                                                     <shadow type="text">
                                                       <field name="TEXT"></field>
                                                     </shadow>
                                                     <block type="lists_getIndex" id="F5;,(y46L0.8pYYWe*c-">
                                                       <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="I}*T6VQ~YZnMNd(_M.uH">
                                                           <field name="VAR" id="I@+oLMb^;SY|ctFo/=gF">datenpunkte</field>
                                                         </block>
                                                       </value>
                                                       <value name="AT">
                                                         <block type="math_arithmetic" id="L)rbTRmd$K%0,`Y;4DLo">
                                                           <field name="OP">ADD</field>
                                                           <value name="A">
                                                             <shadow type="math_number">
                                                               <field name="NUM">1</field>
                                                             </shadow>
                                                             <block type="variables_get" id="uPj?[ad+{7oD0{t`Lxv-">
                                                               <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                             </block>
                                                           </value>
                                                           <value name="B">
                                                             <shadow type="math_number">
                                                               <field name="NUM">1</field>
                                                             </shadow>
                                                             <block type="math_number" id="f:{KISSaq]Ms1F=DX-B6">
                                                               <field name="NUM">1</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <value name="ADD3">
                                                 <block type="text" id="n:4!e7wTM!$HN0hpCp/n">
                                                   <field name="TEXT"> ----- </field>
                                                 </block>
                                               </value>
                                               <value name="ADD4">
                                                 <block type="math_arithmetic" id="c9YOyDRjFHhj+$zn|K^!">
                                                   <field name="OP">ADD</field>
                                                   <value name="A">
                                                     <shadow type="math_number">
                                                       <field name="NUM">1</field>
                                                     </shadow>
                                                     <block type="variables_get" id="{NJKRZr|GLmf6/D?m+@C">
                                                       <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <shadow type="math_number">
                                                       <field name="NUM">1</field>
                                                     </shadow>
                                                     <block type="math_number" id="H}tXNgxHiGvJHfU_]M$q">
                                                       <field name="NUM">1</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <value name="ADD5">
                                                 <block type="text" id="sW#4hSQ|E4.~+C55epV8">
                                                   <field name="TEXT"> ----- </field>
                                                 </block>
                                               </value>
                                               <value name="ADD6">
                                                 <block type="lists_getIndex" id="d=Eh$X`d=;k+k*D%Get%">
                                                   <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="34.ai58K,*d7%VYw~?$6">
                                                       <field name="VAR" id="y)eN7.8HDTNy:0QIRpvu">namen</field>
                                                     </block>
                                                   </value>
                                                   <value name="AT">
                                                     <block type="math_arithmetic" id="+{$m3XaTRK$WCae==Z]3">
                                                       <field name="OP">ADD</field>
                                                       <value name="A">
                                                         <shadow type="math_number">
                                                           <field name="NUM">1</field>
                                                         </shadow>
                                                         <block type="variables_get" id="$%nO:HvF@,@vV[G2E@p8">
                                                           <field name="VAR" id="UrdtKDQ=Ky.^B@eAuwIJ">i</field>
                                                         </block>
                                                       </value>
                                                       <value name="B">
                                                         <shadow type="math_number">
                                                           <field name="NUM">1</field>
                                                         </shadow>
                                                         <block type="math_number" id="YsoKj[uAxE8XG~7P)Y_]">
                                                           <field name="NUM">1</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                        </xml>
                                        

                                        Wszene 1 Reply Last reply Reply Quote 1
                                        • Wszene
                                          Wszene @liv-in-sky last edited by

                                          @liv-in-sky
                                          Doch das hast du bei mir schon mit eingebaut

                                          Das problem ist das ich da die Größe fix eingebe
                                          Das heist überall wo ich die Tabelle dann einfüge habe ich den gleichen Wert

                                          Da ich aber unterschiedliche Projekte für unterschiedliche Geräte habe ist das nicht so gut

                                          z.B. auf dem iPad habe ich eine Icongröße von 45x45
                                          und auf dem Smartphone nur 30x30

                                          Daher die Frage mit den Klassen

                                          liv-in-sky 1 Reply Last reply Reply Quote 0
                                          • liv-in-sky
                                            liv-in-sky @Wszene last edited by

                                            @wszene wie siehts aus mit einer session - ist schneller und einfacher

                                            Wszene 2 Replies Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            705
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly template
                                            4
                                            39
                                            3884
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo