Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    492

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.4k

Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten

Scheduled Pinned Locked Moved ioBroker Allgemein
305 Posts 49 Posters 82.2k Views 27 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Kensho

    @elgander Die View gefällt mir. Kannst du diese evtl. zur Verfügung stellen?

    E Offline
    E Offline
    elgander
    wrote on last edited by
    #281

    @kensho said in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:

    @elgander Die View gefällt mir. Kannst du diese evtl. zur Verfügung stellen?

    Wenn mir einer verraten könnte wie, dann gern. Wenn ich in der VIS bei der View auf „View exportieren“ gehe, passiert bei mir genau nichts. :face_with_rolling_eyes:

    Könnte mir vielleicht noch jemand eine Hilfestellung geben, wie ich das mit den Datenabruf lösen könnte. Der Button, welcher auf den Datenpunkt im BMW-Adapter verknüpft ist, funktioniert irgendwie nicht.

    lobomauL 2 Replies Last reply
    0
    • E elgander

      @kensho said in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:

      @elgander Die View gefällt mir. Kannst du diese evtl. zur Verfügung stellen?

      Wenn mir einer verraten könnte wie, dann gern. Wenn ich in der VIS bei der View auf „View exportieren“ gehe, passiert bei mir genau nichts. :face_with_rolling_eyes:

      Könnte mir vielleicht noch jemand eine Hilfestellung geben, wie ich das mit den Datenabruf lösen könnte. Der Button, welcher auf den Datenpunkt im BMW-Adapter verknüpft ist, funktioniert irgendwie nicht.

      lobomauL Offline
      lobomauL Offline
      lobomau
      wrote on last edited by lobomau
      #282

      @elgander Grad festgestellt. Geht bei mir auch nicht (mehr)! Feld bleibt leer. Vielleicht wurde beim letzten web-Adapter Update ein Fehler eingebaut?

      16c7ec5c-9204-424b-ad1e-bc470692052f-image.png

      5554b12a-84dd-4581-8df8-d32b0ff614aa-image.png

      Host: NUC8i3 mit Proxmox:

      • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
      • Slave: Pi4
      K 1 Reply Last reply
      0
      • E elgander

        @kensho said in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:

        @elgander Die View gefällt mir. Kannst du diese evtl. zur Verfügung stellen?

        Wenn mir einer verraten könnte wie, dann gern. Wenn ich in der VIS bei der View auf „View exportieren“ gehe, passiert bei mir genau nichts. :face_with_rolling_eyes:

        Könnte mir vielleicht noch jemand eine Hilfestellung geben, wie ich das mit den Datenabruf lösen könnte. Der Button, welcher auf den Datenpunkt im BMW-Adapter verknüpft ist, funktioniert irgendwie nicht.

        lobomauL Offline
        lobomauL Offline
        lobomau
        wrote on last edited by lobomau
        #283

        @elgander Datenabruf, meinst du den Knopf? Der funktioniert bei mir. Hab ich nur über objekte getestet (noch nicht über vis). Geht das soweit auch bei dir?

        Edit: mit dem widget bekomme ich es auch nicht hin. Den muss man auch richtig einstellen. Bei mir stürzt dadurch immer der BMW Adapter ab.

        f949a061-db4a-49c2-b93d-a6c07ec8bff2-image.png

        Host: NUC8i3 mit Proxmox:

        • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
        • Slave: Pi4
        E 1 Reply Last reply
        0
        • lobomauL lobomau

          @elgander Grad festgestellt. Geht bei mir auch nicht (mehr)! Feld bleibt leer. Vielleicht wurde beim letzten web-Adapter Update ein Fehler eingebaut?

          16c7ec5c-9204-424b-ad1e-bc470692052f-image.png

          5554b12a-84dd-4581-8df8-d32b0ff614aa-image.png

          K Offline
          K Offline
          Kensho
          wrote on last edited by
          #284

          @lobomau
          Also bei mir geht das exportieren. Wird angezeigt kann es herauskopieren und in ein neues importieren.

          lobomauL E 2 Replies Last reply
          0
          • K Kensho

            @lobomau
            Also bei mir geht das exportieren. Wird angezeigt kann es herauskopieren und in ein neues importieren.

            lobomauL Offline
            lobomauL Offline
            lobomau
            wrote on last edited by
            #285

            @kensho bei mir geht es auch wieder auf einmal. Hab nix geändert :-)
            @elgander probiere nochmal den View Export aus. Ich hatte das gleich Problem wie du, aber nun geht es wieder.

            Host: NUC8i3 mit Proxmox:

            • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
            • Slave: Pi4
            1 Reply Last reply
            0
            • K Kensho

              @lobomau
              Also bei mir geht das exportieren. Wird angezeigt kann es herauskopieren und in ein neues importieren.

              E Offline
              E Offline
              elgander
              wrote on last edited by elgander
              #286

              @kensho said in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:

              @lobomau
              Also bei mir geht das exportieren. Wird angezeigt kann es herauskopieren und in ein neues importieren.

              Also bei mir geht es nicht. Müsste da nicht ein Popup kommen, wie beim Widget exportieren?

              2ada4fb9-858b-4527-9ef7-78acabaacbca-image.png

              lobomauL 1 Reply Last reply
              0
              • lobomauL lobomau

                @elgander Datenabruf, meinst du den Knopf? Der funktioniert bei mir. Hab ich nur über objekte getestet (noch nicht über vis). Geht das soweit auch bei dir?

                Edit: mit dem widget bekomme ich es auch nicht hin. Den muss man auch richtig einstellen. Bei mir stürzt dadurch immer der BMW Adapter ab.

                f949a061-db4a-49c2-b93d-a6c07ec8bff2-image.png

                E Offline
                E Offline
                elgander
                wrote on last edited by
                #287

                @lobomau said in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:

                @elgander Datenabruf, meinst du den Knopf? Der funktioniert bei mir. Hab ich nur über objekte getestet (noch nicht über vis). Geht das soweit auch bei dir?

                Edit: mit dem widget bekomme ich es auch nicht hin. Den muss man auch richtig einstellen. Bei mir stürzt dadurch immer der BMW Adapter ab.

                f949a061-db4a-49c2-b93d-a6c07ec8bff2-image.png

                Ja genau ... wenn ich bei „Objekte“ den Button drücke, werden die Daten abgerufen. Über die VIS bekomme ich es nicht hin. Wahrscheinlich habe ich da das falsche Widget oder was falsch eingestellt. Ich hatte auf einen Tipp gehofft, weil ich ja nicht jedesmal in die Admin-Konsole gehen will.
                4b27c4f1-d7ed-4466-88bf-9777464eee4b-image.png

                1 Reply Last reply
                0
                • E elgander

                  @kensho said in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:

                  @lobomau
                  Also bei mir geht das exportieren. Wird angezeigt kann es herauskopieren und in ein neues importieren.

                  Also bei mir geht es nicht. Müsste da nicht ein Popup kommen, wie beim Widget exportieren?

                  2ada4fb9-858b-4527-9ef7-78acabaacbca-image.png

                  lobomauL Offline
                  lobomauL Offline
                  lobomau
                  wrote on last edited by
                  #288

                  @elgander ja, ganz genau so. Hast du anderen Browser mal probiert? Die Adapter Vis und Web mal updaten?

                  Host: NUC8i3 mit Proxmox:

                  • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
                  • Slave: Pi4
                  lobomauL 1 Reply Last reply
                  0
                  • lobomauL lobomau

                    @elgander ja, ganz genau so. Hast du anderen Browser mal probiert? Die Adapter Vis und Web mal updaten?

                    lobomauL Offline
                    lobomauL Offline
                    lobomau
                    wrote on last edited by
                    #289

                    Mal eine allgemeine Frage: man soll die Aktualisierung nicht unter 5min stellen. Kann man nicht tiefer gehen?
                    Und ist es generell so, dass ich keine Daten erhalte, wenn das Auto in Bewegung ist?

                    Host: NUC8i3 mit Proxmox:

                    • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
                    • Slave: Pi4
                    1 Reply Last reply
                    0
                    • R Rookie50

                      @strobelix Erstmal DANKE für Dein Script. Die habe ich nun genutzt um die Daten meines MINI Cabrio's einzulesen. Hat im Grund "fast" sofort funktioniert. Allerdings sind beim MINI auch die csbData Einträge verschoben. Die habe ich angepasst und nun kommen auch die Status Daten ohne Fehlermeldung.
                      Hier also nochmal das Script für ein MINI Cabrio:

                      <xml xmlns="https://developers.google.com/blockly/xml">
                        <variables>
                          <variable id="XN3*GfIfi@/dz;VqG=f1">Benutzername</variable>
                          <variable id="Ryywje#7IoGUwl?[YLYR">Befehl</variable>
                          <variable id="g!GS3XBhRJ-^i*r~I#(M">Passwort</variable>
                          <variable id="`M`m=udEPjZ8%NR9[7#t">Sicherheitsantwort</variable>
                          <variable type="timeout" id="T1">T1</variable>
                          <variable type="timeout" id="T4">T4</variable>
                          <variable type="timeout" id="T3">T3</variable>
                          <variable type="timeout" id="T5">T5</variable>
                          <variable type="timeout" id="T2">T2</variable>
                        </variables>
                        <block type="variables_set" id="25.7NsDbuJp,f,+kg9f}" x="-538" y="-1438">
                          <field name="VAR" id="XN3*GfIfi@/dz;VqG=f1">Benutzername</field>
                          <value name="VALUE">
                            <block type="text" id="|ogs8P81w~dvfv9YO/LK">
                              <field name="TEXT">EMAIL ACCOUNT</field>
                            </block>
                          </value>
                          <next>
                            <block type="variables_set" id="A7ExvCH7vJ[i97`qN$cV">
                              <field name="VAR" id="g!GS3XBhRJ-^i*r~I#(M">Passwort</field>
                              <value name="VALUE">
                                <block type="text" id="Xt:`irNXz.ndzQ0dO1uf">
                                  <field name="TEXT">PASSWORT</field>
                                </block>
                              </value>
                              <next>
                                <block type="variables_set" id="@j5.B|TqXRajXjYa]f=f">
                                  <field name="VAR" id="`M`m=udEPjZ8%NR9[7#t">Sicherheitsantwort</field>
                                  <value name="VALUE">
                                    <block type="text" id="m#{+]bm?9QK;w(!7).2d">
                                      <field name="TEXT">PINCODE</field>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="procedures_callcustomnoreturn" id=":hC7Hfgpy82Hn#oJY{Zz">
                                      <mutation name="Datenpunkte Fahrzeug erstellen"></mutation>
                                      <next>
                                        <block type="procedures_callcustomnoreturn" id="q%,[_SU{6#d,O%*sD`Qz">
                                          <mutation name="Datenpunkte Status erstellen"></mutation>
                                          <next>
                                            <block type="procedures_callcustomnoreturn" id="4l2r#`S+v9aFUamx-Esz">
                                              <mutation name="Datenpunkte Befehle erstellen"></mutation>
                                              <next>
                                                <block type="timeouts_settimeout" id=";[W?azy]IW_aXZy;1cLF">
                                                  <field name="NAME">T1</field>
                                                  <field name="DELAY">1000</field>
                                                  <field name="UNIT">ms</field>
                                                  <statement name="STATEMENT">
                                                    <block type="procedures_callcustomnoreturn" id="sCCxQw~6kxo3.d^m)Pp-">
                                                      <mutation name="Token abfragen"></mutation>
                                                    </block>
                                                  </statement>
                                                  <next>
                                                    <block type="timeouts_settimeout" id="g=Sn!j;?yu^1hi77k@8s">
                                                      <field name="NAME">T3</field>
                                                      <field name="DELAY">3000</field>
                                                      <field name="UNIT">ms</field>
                                                      <statement name="STATEMENT">
                                                        <block type="procedures_callcustomnoreturn" id="m(HG.hOx+O{]c/.2/L`k">
                                                          <mutation name="Fahrzeugdaten abfragen"></mutation>
                                                        </block>
                                                      </statement>
                                                      <next>
                                                        <block type="timeouts_settimeout" id="JzLVGc@D}Hq;ZSwgo6$g">
                                                          <field name="NAME">T2</field>
                                                          <field name="DELAY">6000</field>
                                                          <field name="UNIT">ms</field>
                                                          <statement name="STATEMENT">
                                                            <block type="procedures_callcustomnoreturn" id="bItGd$a[?ESTSSIjY-qP">
                                                              <mutation name="Status Abfragen"></mutation>
                                                            </block>
                                                          </statement>
                                                          <next>
                                                            <block type="on" id="Lb,dTP]LKtW1;deq|Qoj">
                                                              <field name="OID">0_userdata.0.BMW.Neuer Token</field>
                                                              <field name="CONDITION">any</field>
                                                              <field name="ACK_CONDITION">false</field>
                                                              <statement name="STATEMENT">
                                                                <block type="controls_if" id="u9vRH6uvBpbtNi5Eb$re">
                                                                  <value name="IF0">
                                                                    <block type="on_source" id="[ZV_ZO^d$dk~r;SHUx@7">
                                                                      <field name="ATTR">state.val</field>
                                                                    </block>
                                                                  </value>
                                                                  <statement name="DO0">
                                                                    <block type="procedures_callcustomnoreturn" id="iMM#y=#E0[lqAuF{O#,A">
                                                                      <mutation name="Token abfragen"></mutation>
                                                                    </block>
                                                                  </statement>
                                                                </block>
                                                              </statement>
                                                              <next>
                                                                <block type="on" id="fDMDIB0vfm{,Zq]F}@;Y">
                                                                  <field name="OID">0_userdata.0.BMW.Status abfragen</field>
                                                                  <field name="CONDITION">any</field>
                                                                  <field name="ACK_CONDITION">false</field>
                                                                  <statement name="STATEMENT">
                                                                    <block type="controls_if" id="ablR/e?U@-k_13gD,t+g">
                                                                      <value name="IF0">
                                                                        <block type="on_source" id="i:D(o^.%d)):M:,_W;,7">
                                                                          <field name="ATTR">state.val</field>
                                                                        </block>
                                                                      </value>
                                                                      <statement name="DO0">
                                                                        <block type="procedures_callcustomnoreturn" id="rx2v:]C(yCH;tQ/7s}#I">
                                                                          <mutation name="Status Abfragen"></mutation>
                                                                        </block>
                                                                      </statement>
                                                                    </block>
                                                                  </statement>
                                                                  <next>
                                                                    <block type="schedule" id="6.1-pU|?K[LZXvgI}cvN">
                                                                      <field name="SCHEDULE">*/60 * * * *</field>
                                                                      <statement name="STATEMENT">
                                                                        <block type="procedures_callcustomnoreturn" id="S_QWZ%P:XPQ1H8HWO%9)">
                                                                          <mutation name="Token abfragen"></mutation>
                                                                        </block>
                                                                      </statement>
                                                                      <next>
                                                                        <block type="schedule" id="W+ma{UTP^+kpN[].v7Zk">
                                                                          <field name="SCHEDULE">*/5 * * * *</field>
                                                                          <statement name="STATEMENT">
                                                                            <block type="procedures_callcustomnoreturn" id="U~v?l1r)Z5Q+Kbb(Z]]y">
                                                                              <mutation name="Fahrzeugdaten abfragen"></mutation>
                                                                              <next>
                                                                                <block type="procedures_callcustomnoreturn" id="PBbJH+;,a,L7x=f3u1!)">
                                                                                  <mutation name="Status Abfragen"></mutation>
                                                                                </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>
                        <block type="on" id=")QODy$[H-(7lc9HPc%Xx" x="513" y="-1438">
                          <field name="OID">0_userdata.0.BMW.Befehle.Klimatisieren</field>
                          <field name="CONDITION">any</field>
                          <field name="ACK_CONDITION">false</field>
                          <statement name="STATEMENT">
                            <block type="controls_if" id="qi2OU5y9AjO|pE1=!(W`">
                              <value name="IF0">
                                <block type="on_source" id="]6?RDB6_qbNs}FH@FT/5">
                                  <field name="ATTR">state.val</field>
                                </block>
                              </value>
                              <statement name="DO0">
                                <block type="procedures_callcustomnoreturn" id="DC)Em1Ehbz1LW6fj[K!7">
                                  <mutation name="Befehl">
                                    <arg name="Befehl"></arg>
                                  </mutation>
                                  <value name="ARG0">
                                    <block type="text" id="wekLEjbNhi3sYYeR;bq1">
                                      <field name="TEXT">CLIMATE_NOW</field>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="update" id="?@kSoXR52NIAnmTbP@is">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                      <field name="OID">0_userdata.0.BMW.Befehle.Klimatisieren</field>
                                      <field name="WITH_DELAY">TRUE</field>
                                      <field name="DELAY_MS">5000</field>
                                      <field name="UNIT">ms</field>
                                      <field name="CLEAR_RUNNING">FALSE</field>
                                      <value name="VALUE">
                                        <block type="logic_boolean" id="K/F}wA*$n:5CnQHpYr@$">
                                          <field name="BOOL">FALSE</field>
                                        </block>
                                      </value>
                                    </block>
                                  </next>
                                </block>
                              </statement>
                            </block>
                          </statement>
                          <next>
                            <block type="on" id="DO.4#e50zzBReVkXk5yb">
                              <field name="OID">0_userdata.0.BMW.Befehle.Zusperren</field>
                              <field name="CONDITION">any</field>
                              <field name="ACK_CONDITION">false</field>
                              <statement name="STATEMENT">
                                <block type="controls_if" id="OiM7;RsdIpMs*67U$W1}">
                                  <value name="IF0">
                                    <block type="on_source" id="DUggLU3jpKTMWDwchY@Q">
                                      <field name="ATTR">state.val</field>
                                    </block>
                                  </value>
                                  <statement name="DO0">
                                    <block type="procedures_callcustomnoreturn" id="6]WNw%0B$@C*pjCV+42;">
                                      <mutation name="Befehl">
                                        <arg name="Befehl"></arg>
                                      </mutation>
                                      <value name="ARG0">
                                        <block type="text" id="PU^ebj(ix}-k_Y?zFd8u">
                                          <field name="TEXT">DOOR_LOCK</field>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="update" id="9rlPG|IAAhKHcZ|+99|z">
                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                          <field name="OID">0_userdata.0.BMW.Befehle.Zusperren</field>
                                          <field name="WITH_DELAY">TRUE</field>
                                          <field name="DELAY_MS">5000</field>
                                          <field name="UNIT">ms</field>
                                          <field name="CLEAR_RUNNING">FALSE</field>
                                          <value name="VALUE">
                                            <block type="logic_boolean" id="0,a9ZN|M|PkAi}n*T19O">
                                              <field name="BOOL">FALSE</field>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="timeouts_cleartimeout" id="HV:pG3Rpo#DDVKbG+daU">
                                              <field name="NAME">T4</field>
                                              <next>
                                                <block type="timeouts_settimeout" id="K^b0}p1E-~Xb4ASC]Q4H">
                                                  <field name="NAME">T4</field>
                                                  <field name="DELAY">20</field>
                                                  <field name="UNIT">sec</field>
                                                  <statement name="STATEMENT">
                                                    <block type="procedures_callcustomnoreturn" id="%#uB?:We,O/HPC5~o8mu">
                                                      <mutation name="Status Abfragen"></mutation>
                                                    </block>
                                                  </statement>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </statement>
                                </block>
                              </statement>
                              <next>
                                <block type="on" id="Mt2*}WFoiR5--row2T8H">
                                  <field name="OID">0_userdata.0.BMW.Befehle.Aufsperren</field>
                                  <field name="CONDITION">any</field>
                                  <field name="ACK_CONDITION">false</field>
                                  <statement name="STATEMENT">
                                    <block type="controls_if" id="1tfzyj?EGI~c[$sfM,=H">
                                      <value name="IF0">
                                        <block type="on_source" id="L-qx[QjgE7YK^@QoxL?s">
                                          <field name="ATTR">state.val</field>
                                        </block>
                                      </value>
                                      <statement name="DO0">
                                        <block type="procedures_callcustomnoreturn" id="UA+^g5gs#H|-G2i{TbW0">
                                          <mutation name="Befehl">
                                            <arg name="Befehl"></arg>
                                          </mutation>
                                          <value name="ARG0">
                                            <block type="text" id="cyD@aSO~.u2Bx0K/ZDvH">
                                              <field name="TEXT">DOOR_UNLOCK</field>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="update" id="!W;+jZdtO4Z$.N{oZ!~u">
                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                              <field name="OID">0_userdata.0.BMW.Befehle.Aufsperren</field>
                                              <field name="WITH_DELAY">TRUE</field>
                                              <field name="DELAY_MS">5000</field>
                                              <field name="UNIT">ms</field>
                                              <field name="CLEAR_RUNNING">FALSE</field>
                                              <value name="VALUE">
                                                <block type="logic_boolean" id="i7H=1Q%)]bTWwtb,mZL^">
                                                  <field name="BOOL">FALSE</field>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="timeouts_cleartimeout" id="kCFL4[xJS;D7/KIfiBAX">
                                                  <field name="NAME">T5</field>
                                                  <next>
                                                    <block type="timeouts_settimeout" id="o8MuetpKi;us4cd)*xEw">
                                                      <field name="NAME">T5</field>
                                                      <field name="DELAY">20</field>
                                                      <field name="UNIT">sec</field>
                                                      <statement name="STATEMENT">
                                                        <block type="procedures_callcustomnoreturn" id="R9@II,t5ByNf2K*gJ[xo">
                                                          <mutation name="Status Abfragen"></mutation>
                                                        </block>
                                                      </statement>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </statement>
                                    </block>
                                  </statement>
                                  <next>
                                    <block type="on" id="x3sA~Bo,9#W8+0QQ4?Mk">
                                      <field name="OID">0_userdata.0.BMW.Befehle.Lichthupe</field>
                                      <field name="CONDITION">any</field>
                                      <field name="ACK_CONDITION">false</field>
                                      <statement name="STATEMENT">
                                        <block type="controls_if" id="g^t/])A_OBmH:}D:7hx1">
                                          <value name="IF0">
                                            <block type="on_source" id="Qk9]ZT(6`yuT9IJ1mS#h">
                                              <field name="ATTR">state.val</field>
                                            </block>
                                          </value>
                                          <statement name="DO0">
                                            <block type="procedures_callcustomnoreturn" id="?Ar*XxGO6vVdJr~9F;?)">
                                              <mutation name="Befehl">
                                                <arg name="Befehl"></arg>
                                              </mutation>
                                              <value name="ARG0">
                                                <block type="text" id="8y9k?DHsHpiCgnF.S`o=">
                                                  <field name="TEXT">LIGHT_FLASH</field>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="update" id="8viE(:=_WA,IPGi~+0MV">
                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                  <field name="OID">0_userdata.0.BMW.Befehle.Lichthupe</field>
                                                  <field name="WITH_DELAY">TRUE</field>
                                                  <field name="DELAY_MS">5000</field>
                                                  <field name="UNIT">ms</field>
                                                  <field name="CLEAR_RUNNING">FALSE</field>
                                                  <value name="VALUE">
                                                    <block type="logic_boolean" id="3KW3b{O(!n=5:mg(M_Wv">
                                                      <field name="BOOL">FALSE</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </next>
                                            </block>
                                          </statement>
                                        </block>
                                      </statement>
                                      <next>
                                        <block type="on" id=".`HU#5P7{T)o:1xn*a/?">
                                          <field name="OID">0_userdata.0.BMW.Befehle.Hupen</field>
                                          <field name="CONDITION">any</field>
                                          <field name="ACK_CONDITION">false</field>
                                          <statement name="STATEMENT">
                                            <block type="controls_if" id="Qrr/!E+TuG7Gq66FQA;5">
                                              <value name="IF0">
                                                <block type="on_source" id="mvXJMfS$OdG+L~5/z^rY">
                                                  <field name="ATTR">state.val</field>
                                                </block>
                                              </value>
                                              <statement name="DO0">
                                                <block type="procedures_callcustomnoreturn" id="%-uafX09p)!Y/xx5^fi2">
                                                  <mutation name="Befehl">
                                                    <arg name="Befehl"></arg>
                                                  </mutation>
                                                  <value name="ARG0">
                                                    <block type="text" id="}58KZNu_0dQ=K}dkAOS$">
                                                      <field name="TEXT">HORN_BLOW</field>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="update" id="GWaADA}?}4ONL*[A[7Fi">
                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                      <field name="OID">0_userdata.0.BMW.Befehle.Hupen</field>
                                                      <field name="WITH_DELAY">TRUE</field>
                                                      <field name="DELAY_MS">5000</field>
                                                      <field name="UNIT">ms</field>
                                                      <field name="CLEAR_RUNNING">FALSE</field>
                                                      <value name="VALUE">
                                                        <block type="logic_boolean" id="f^.-6^1JVE#^ag9aE_/X">
                                                          <field name="BOOL">FALSE</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </next>
                                                </block>
                                              </statement>
                                            </block>
                                          </statement>
                                          <next>
                                            <block type="on" id="Vhk9JdYK#{eK`xo9l]hS">
                                              <field name="OID">0_userdata.0.BMW.Befehle.Türen verriegelt boolean</field>
                                              <field name="CONDITION">ne</field>
                                              <field name="ACK_CONDITION">false</field>
                                              <statement name="STATEMENT">
                                                <block type="controls_if" id="=32B-jUiOxfo-@z%Enkk">
                                                  <mutation else="1"></mutation>
                                                  <value name="IF0">
                                                    <block type="on_source" id="~~AZ={~tQ?Y!E}_f7D~]">
                                                      <field name="ATTR">state.val</field>
                                                    </block>
                                                  </value>
                                                  <statement name="DO0">
                                                    <block type="control" id="+rt4k;*u!=Diy{KbOU(8">
                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                      <field name="OID">0_userdata.0.BMW.Befehle.Zusperren</field>
                                                      <field name="WITH_DELAY">FALSE</field>
                                                      <value name="VALUE">
                                                        <block type="logic_boolean" id="vq-.Och#,2*o%xQARVeP">
                                                          <field name="BOOL">TRUE</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </statement>
                                                  <statement name="ELSE">
                                                    <block type="control" id="9!u{=):MD$_iG09[}T0A">
                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                      <field name="OID">0_userdata.0.BMW.Befehle.Aufsperren</field>
                                                      <field name="WITH_DELAY">FALSE</field>
                                                      <value name="VALUE">
                                                        <block type="logic_boolean" id="fa-4=P/n|:C`K{-ixe3S">
                                                          <field name="BOOL">TRUE</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </statement>
                                                </block>
                                              </statement>
                                              <next>
                                                <block type="on" id="1ADkR3Z`F_-a)|M:fB7-">
                                                  <field name="OID">0_userdata.0.BMW.Status.Türverriegelung</field>
                                                  <field name="CONDITION">ne</field>
                                                  <field name="ACK_CONDITION">true</field>
                                                  <statement name="STATEMENT">
                                                    <block type="controls_if" id="v!Vu7EO:!dG(jpe;x2xD">
                                                      <mutation else="1"></mutation>
                                                      <value name="IF0">
                                                        <block type="logic_compare" id="GXN9SU]9FjxoypMbH3QD">
                                                          <field name="OP">EQ</field>
                                                          <value name="A">
                                                            <block type="on_source" id="Q.J_$G`AzV2??o(MyP`R">
                                                              <field name="ATTR">state.val</field>
                                                            </block>
                                                          </value>
                                                          <value name="B">
                                                            <block type="text" id="}^BDPcKx]3rmlx-*%UN#">
                                                              <field name="TEXT">Entriegelt</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <statement name="DO0">
                                                        <block type="update" id="tixY~5k,`[b;Uyon{Z3N">
                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                          <field name="OID">0_userdata.0.BMW.Befehle.Türen verriegelt boolean</field>
                                                          <field name="WITH_DELAY">FALSE</field>
                                                          <value name="VALUE">
                                                            <block type="logic_boolean" id="I8cRbAkI}r9c:WqD+xQD">
                                                              <field name="BOOL">FALSE</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </statement>
                                                      <statement name="ELSE">
                                                        <block type="update" id="rU$~CF:N/Aj;=ODV+;)D">
                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                          <field name="OID">0_userdata.0.BMW.Befehle.Türen verriegelt boolean</field>
                                                          <field name="WITH_DELAY">FALSE</field>
                                                          <value name="VALUE">
                                                            <block type="logic_boolean" id="r5W(~)`uh/rW@uA*b2?*">
                                                              <field name="BOOL">TRUE</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </statement>
                                                    </block>
                                                  </statement>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                        <block type="procedures_defcustomnoreturn" id=":tqG!IfOg@ann$}w1S@h" x="-37" y="-1162">
                          <mutation statements="false"></mutation>
                          <field name="NAME">Datenpunkte Befehle erstellen</field>
                          <field name="SCRIPT">Y3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzIGFiZnJhZ2VuIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlN0YXR1cyBhYmZyYWdlbiIsInJvbGUiOiAiYnV0dG9uIiwidHlwZSI6ICJib29sZWFuIiwicmVhZCI6IHRydWUsIndyaXRlIjogdHJ1ZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjogZmFsc2V9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5OZXVlciBUb2tlbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJOZXVlciBUb2tlbiIsInJvbGUiOiAiYnV0dG9uIiwidHlwZSI6ICJib29sZWFuIiwicmVhZCI6IHRydWUsIndyaXRlIjogdHJ1ZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjogZmFsc2V9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Ub2tlbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJUb2tlbiIsInJvbGUiOiAiIiwidHlwZSI6ICJzdHJpbmciLCJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6ICIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiB0cnVlfScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuQmVmZWhsZS5LbGltYXRpc2llcmVuIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkJlZmVobCBLbGltYXRpc2llcmVuIiwicm9sZSI6ICJidXR0b24iLCJ0eXBlIjogImJvb2xlYW4iLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiB0cnVlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiBmYWxzZX0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkJlZmVobGUuSHVwZW4iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiQmVmZWhsIEh1cGVuIiwicm9sZSI6ICJidXR0b24iLCJ0eXBlIjogImJvb2xlYW4iLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiB0cnVlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiBmYWxzZX0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkJlZmVobGUuQXVmc3BlcnJlbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJCZWZlaGwgQXVmc3BlcnJlbiIsInJvbGUiOiAiYnV0dG9uIiwidHlwZSI6ICJib29sZWFuIiwicmVhZCI6IHRydWUsIndyaXRlIjogdHJ1ZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjogZmFsc2V9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5CZWZlaGxlLlp1c3BlcnJlbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJCZWZlaGwgWnVzcGVycmVuIiwicm9sZSI6ICJidXR0b24iLCJ0eXBlIjogImJvb2xlYW4iLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiB0cnVlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiBmYWxzZX0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkJlZmVobGUuTGljaHRodXBlIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkJlZmVobCBMaWNodGh1cGUiLCJyb2xlIjogImJ1dHRvbiIsInR5cGUiOiAiYm9vbGVhbiIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IHRydWUsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IGZhbHNlfScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuQmVmZWhsZS5Uw7xyZW4gdmVycmllZ2VsdCBib29sZWFuIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlTDvHJlbiB2ZXJyaWVnZWx0IGJvb2xlYW4iLCJyb2xlIjogInN3aXRjaCIsInR5cGUiOiAiYm9vbGVhbiIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IHRydWUsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IGZhbHNlfScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7</field>
                          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                        </block>
                        <block type="procedures_defcustomnoreturn" id="K]RD5Zz+BB5-#J|b@zcu" x="-38" y="-1137">
                          <mutation statements="false"></mutation>
                          <field name="NAME">Datenpunkte Fahrzeug erstellen</field>
                          <field name="SCRIPT">Y3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuRmFocnpldWcuRmFocmdlc3RlbGxudW1tZXIiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRmFocnpldWcgRmFocmdlc3RlbGxudW1tZXIiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5GYWhyemV1Zy5Nb2RlbCIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJGYWhyemV1ZyBNb2RlbCIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkZhaHJ6ZXVnLlR5cCIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJGYWhyemV1ZyBUeXAiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5GYWhyemV1Zy5BbnRyaWViIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkZhaHJ6ZXVnIEFudHJpZWIiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5GYWhyemV1Zy5GYXJiZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJGYWhyemV1ZyBGYXJiZSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkZhaHJ6ZXVnLkZhcmJjb2RlIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkZhaHJ6ZXVnIEZhcmJjb2RlIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuRmFocnpldWcuQmF1amFociIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJGYWhyemV1ZyBCYXVqYWhyIiwicm9sZSI6ICIiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJtaW4iOiAwLCJtYXgiOiAzMDAwLCJkZWYiOiAwLCJ1bml0IjogIiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuSMOkbmRsZXIuTmFtZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJIw6RuZGxlciBOYW1lIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuSMOkbmRsZXIuU3RyYcOfZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJIw6RuZGxlciBTdHJhw59lIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuSMOkbmRsZXIuUExaIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkjDpG5kbGVyIFBMWiIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkjDpG5kbGVyLk9ydCIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJIw6RuZGxlciBPcnQiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Iw6RuZGxlci5MYW5kIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkjDpG5kbGVyIExhbmQiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Iw6RuZGxlci5UZWxlZm9uIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkjDpG5kbGVyIFRlbGVmb24iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5GYWhyemV1Zy5BbGFybWFubGFnZSB2b3JoYW5kZW4iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRmFocnpldWcgQWxhcm1hbmxhZ2Ugdm9yaGFuZGVuIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAiYm9vbGVhbiIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiJmYWxzZSJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTs=</field>
                          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                        </block>
                        <block type="procedures_defcustomnoreturn" id="z_62?G;+Z_ju{aky5~UA" x="-37" y="-1113">
                          <mutation statements="false"></mutation>
                          <field name="NAME">Datenpunkte Status erstellen</field>
                          <field name="SCRIPT">Y3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi5IYXVwdHVudGVyc3VjaHVuZy5EYXR1bSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJEYXR1bSBIYXVwdHVudGVyc3VjaHVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi5IYXVwdHVudGVyc3VjaHVuZy5TdGF0dXMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiU3RhdHVzIEhhdXB0dW50ZXJzdWNodW5nIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TZXJ2aWNlYmVkYXJmLkZhaHJ6ZXVnY2hlY2suU3RhdHVzIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlN0YXR1cyBGYWhyemV1Z2NoZWNrIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TZXJ2aWNlYmVkYXJmLkZhaHJ6ZXVnY2hlY2suRGF0dW0iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRGF0dW0gRmFocnpldWdjaGVjayIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi5GYWhyemV1Z2NoZWNrLlZlcmJsZWliZW5kZSBrbSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJWZXJibGVpYmVuZGUga20gRmFocnpldWdjaGVjayIsInJvbGUiOiAiIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJtaW4iOiAwLCJtYXgiOiAxMDAwMDAwMDAsImRlZiI6IDAsInVuaXQiOiAia20ifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi5CcmVtc2Zsw7xzc2lna2VpdC5EYXR1bSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJEYXR1bSBCcmVtc2Zsw7xzc2lna2VpdCIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi5CcmVtc2Zsw7xzc2lna2VpdC5TdGF0dXMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiU3RhdHVzIEJyZW1zZmzDvHNzaWdrZWl0Iiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TZXJ2aWNlYmVkYXJmLsOWbHNlcnZpY2UuRGF0dW0iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRGF0dW0gw5Zsc2VydmljZSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi7DlmxzZXJ2aWNlLlN0YXR1cyIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJTdGF0dXMgw5Zsc2VydmljZSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi7DlmxzZXJ2aWNlLlZlcmJsZWliZW5kZSBrbSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJWZXJibGVpYmVuZGUga20gw5Zsc2VydmljZSIsInJvbGUiOiAiIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJtaW4iOiAwLCJtYXgiOiAxMDAwMDAwMDAsImRlZiI6IDAsInVuaXQiOiAia20ifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLktpbG9tZXRlcnN0YW5kIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIktpbG9tZXRlcnN0YW5kIiwicm9sZSI6ICIiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsIm1pbiI6IDAsIm1heCI6IDEwMDAwMDAwMCwiZGVmIjogMCwidW5pdCI6ICJrbSJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuRmFocmVydMO8ciB2b3JuZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJGYWhyZXJ0w7xyIHZvcm5lIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuRmFocmVydMO8ciBoaW50ZW4iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRmFocmVydMO8ciBoaW50ZW4iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJ0w7xyIHZvcm5lIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkJlaWZhaHJlcnTDvHIgdm9ybmUiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJ0w7xyIGhpbnRlbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJCZWlmYWhyZXJ0w7xyIGhpbnRlbiIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcmZlbnN0ZXIgdm9ybmUiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRmFocmVyZmVuc3RlciB2b3JuZSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcmZlbnN0ZXIgaGludGVuIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkZhaHJlcmZlbnN0ZXIgaGludGVuIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQmVpZmFocmVyZmVuc3RlciB2b3JuZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJCZWlmYWhyZXJmZW5zdGVyIHZvcm5lIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQmVpZmFocmVyZmVuc3RlciBoaW50ZW4iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiQmVpZmFocmVyZmVuc3RlciBoaW50ZW4iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5Lb2ZmZXJyYXVtIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIktvZmZlcnJhdW0iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5IZWNrZmVuc3RlciIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJIZWNrZmVuc3RlciIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLk1vdG9yaGF1YmUiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiTW90b3JoYXViZSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlTDvHJ2ZXJyaWVnZWx1bmciLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiVMO8cnZlcnJpZWdlbHVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlBhcmtsZXVjaHRlbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJQYXJrbGV1Y2h0ZW4iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5TdGFuZGxpY2h0IiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlN0YW5kbGljaHQiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5LcmFmdHN0b2Zmc3RhbmQgTGl0ZXIiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiS3JhZnRzdG9mZnN0YW5kIExpdGVyIiwicm9sZSI6ICIiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsIm1pbiI6IDAsIm1heCI6IDUwMCwiZGVmIjogMCwidW5pdCI6ICJsIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MYWRlenVzdGFuZCBrbSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJMYWRlenVzdGFuZCBrbSIsInJvbGUiOiAiIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJtaW4iOiAwLCJtYXgiOiA1MDAsImRlZiI6IDAsInVuaXQiOiAia20ifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLktvbWJpbmllcnRlIFJlaWNod2VpdGUiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiS29tYmluaWVydGUgUmVpY2h3ZWl0ZSIsInJvbGUiOiAiIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJtaW4iOiAwLCJtYXgiOiA1MDAsImRlZiI6IDAsInVuaXQiOiAia20ifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLktyYWZ0c3RvZmZzdGFuZCAlIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIktyYWZ0c3RvZmZzdGFuZCAlIiwicm9sZSI6ICIiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsIm1pbiI6IDAsIm1heCI6IDEwMCwiZGVmIjogMCwidW5pdCI6ICIlIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MYWRlenVzdGFuZCAlIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkxhZGV6dXN0YW5kICUiLCJyb2xlIjogIiIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwibWluIjogMCwibWF4IjogMTAwLCJkZWYiOiAwLCJ1bml0IjogIiUifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlZlcmJpbmR1bmdzc3RhdHVzIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlZlcmJpbmR1bmdzc3RhdHVzIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGFkZXN0YXR1cyIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJMYWRlc3RhdHVzIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuVmVyYmxlaWJlbmRlIExhZGV6ZWl0IiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlZlcmJsZWliZW5kZSBMYWRlemVpdCIsInJvbGUiOiAiIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJtaW4iOiAwLCJtYXgiOiAxMDAwLCJkZWYiOiAwLCJ1bml0IjogIm1pbiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGFuZG9ydC5CcmVpdGVuZ3JhZCIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJTdGFuZG9ydCBCcmVpdGVuZ3JhZCIsInJvbGUiOiAiIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJtaW4iOiAtMTAwMDAsIm1heCI6IDEwMDAwLCJkZWYiOiAwLCJ1bml0IjogIsKwIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YW5kb3J0LkzDpG5nZW5ncmFkIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlN0YW5kb3J0IEzDpG5nZW5ncmFkIiwicm9sZSI6ICIiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsIm1pbiI6IC0xMDAwMCwibWF4IjogMTAwMDAsImRlZiI6IDAsInVuaXQiOiAiwrAifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhbmRvcnQuUmljaHR1bmciLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiU3RhbmRvcnQgUmljaHR1bmciLCJyb2xlIjogIiIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwibWluIjogLTEwMDAwLCJtYXgiOiAxMDAwMCwiZGVmIjogMCwidW5pdCI6ICLCsCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGFuZG9ydC5TdGF0dXMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiU3RhbmRvcnQgU3RhdHVzIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGV0enRlciBMYWRldm9yZ2FuZyBCZWVuZGlndW5nc2dydW5kIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkxldHp0ZXIgTGFkZXZvcmdhbmcgQmVlbmRpZ3VuZ3NncnVuZCIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkxldHp0ZXIgTGFkZXZvcmdhbmcgRXJnZWJuaXMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiTGV0enRlciBMYWRldm9yZ2FuZyBFcmdlYm5pcyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkVpbm1hbGlnZSBTb2ZvcnRsYWR1bmciLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWlubWFsaWdlIFNvZm9ydGxhZHVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogImJvb2xlYW4iLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiZmFsc2UifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkxhZGV2ZXJiaW5kdW5nIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkxhZGV2ZXJiaW5kdW5nIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuUG9zaXRpb25pZXJ1bmcgSW5kdWt0aW9uc2xhZHVuZyIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJQb3NpdGlvbmllcnVuZyBJbmR1a3Rpb25zbGFkdW5nIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQ2hlY2sgQ29udHJvbCBNZWxkdW5nIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkNoZWNrIENvbnRyb2wgTWVsZHVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkNhYnJpb2RhY2giLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiQ2FicmlvZGFjaCIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhbmRvcnQuR29vZ2xlIE1hcHMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiU3RhbmRvcnQgR29vZ2xlIE1hcHMiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIAo=</field>
                          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                        </block>
                        <block type="procedures_defcustomnoreturn" id="Tqmj%!gc`F8vk2zl7MW_" x="-38" y="-1088">
                          <mutation statements="false"></mutation>
                          <field name="NAME">Fahrzeugdaten abfragen</field>
                          <field name="SCRIPT">dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKdmFyIHJlcXVlc3QgPSByZXF1aXJlKCJyZXF1ZXN0Iik7Cgp2YXIgb3B0aW9ucyA9IHsKICB1cmw6ICdodHRwczovL2IydmFwaS5ibXdncm91cC5jb20vd2ViYXBpL3YxL3VzZXIvdmVoaWNsZXMvJywKICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfSwKICBhdXRoOiB7CiAgICBiZWFyZXI6IChnZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Ub2tlbiIpLnZhbCl9Cn07CgpmdW5jdGlvbiBjYWxsYmFjayhlcnJvcixyZXNwb25zZSxib2R5KXsKCnZhciByZXN1bHQyID0gSlNPTi5wYXJzZShib2R5KS52ZWhpY2xlc1swXTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuRmFocnpldWcuRmFocmdlc3RlbGxudW1tZXIiLCAnJytyZXN1bHQyLnZpbiwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkZhaHJ6ZXVnLk1vZGVsIiwgJycrcmVzdWx0Mi5tb2RlbCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkZhaHJ6ZXVnLlR5cCIsICcnK3Jlc3VsdDIuYm9keXR5cGUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5GYWhyemV1Zy5BbnRyaWViIiwgJycrcmVzdWx0Mi5kcml2ZVRyYWluLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuRmFocnpldWcuRmFyYmUiLCAnJytyZXN1bHQyLmNvbG9yLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuRmFocnpldWcuRmFyYmNvZGUiLCAnJytyZXN1bHQyLmNvbG9yQ29kZSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkZhaHJ6ZXVnLkJhdWphaHIiLCBwYXJzZUZsb2F0KHJlc3VsdDIueWVhck9mQ29uc3RydWN0aW9uKSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkjDpG5kbGVyLk5hbWUiLCAnJytyZXN1bHQyLmRlYWxlci5uYW1lLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuSMOkbmRsZXIuU3RyYcOfZSIsICcnK3Jlc3VsdDIuZGVhbGVyLnN0cmVldCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkjDpG5kbGVyLlBMWiIsICcnK3Jlc3VsdDIuZGVhbGVyLnBvc3RhbENvZGUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Iw6RuZGxlci5PcnQiLCAnJytyZXN1bHQyLmRlYWxlci5jaXR5LCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuSMOkbmRsZXIuTGFuZCIsICcnK3Jlc3VsdDIuZGVhbGVyLmNvdW50cnksIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Iw6RuZGxlci5UZWxlZm9uIiwgJycrcmVzdWx0Mi5kZWFsZXIucGhvbmUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5GYWhyemV1Zy5BbGFybWFubGFnZSB2b3JoYW5kZW4iLCByZXN1bHQyLmhhc0FsYXJtU3lzdGVtLCB0cnVlKTsKLy9jb25zb2xlLmxvZyhyZXN1bHQyLnZpbikKCn07CnJlcXVlc3QuZ2V0KG9wdGlvbnMsIGNhbGxiYWNrKTsK</field>
                          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                        </block>
                        <block type="procedures_defcustomnoreturn" id="e6N=.RUD+21]!8uv9.EJ" x="-38" y="-1063">
                          <mutation statements="false"></mutation>
                          <field name="NAME">Status Abfragen</field>
                          <field name="SCRIPT">dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKdmFyIHJlcXVlc3QgPSByZXF1aXJlKCJyZXF1ZXN0Iik7Cgp2YXIgb3B0aW9ucyA9IHsKICB1cmw6ICdodHRwczovL2IydmFwaS5ibXdncm91cC5jb20vd2ViYXBpL3YxL3VzZXIvdmVoaWNsZXMvJysoZ2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuRmFocnpldWcuRmFocmdlc3RlbGxudW1tZXIiKS52YWwpKycvc3RhdHVzJywKICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfSwKICBhdXRoOiB7CiAgICBiZWFyZXI6IChnZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Ub2tlbiIpLnZhbCl9Cn07CgpmdW5jdGlvbiBjYWxsYmFjayhlcnJvcixyZXNwb25zZSxib2R5KXsKdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UoYm9keSkudmVoaWNsZVN0YXR1czsKaWYgKHJlc3VsdC5kb29yRHJpdmVyRnJvbnQgPT0gJ0NMT1NFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuRmFocmVydMO8ciB2b3JuZSIsICdHZXNjaGxvc3NlbicsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5kb29yRHJpdmVyRnJvbnQgPT0gJ09QRU4nKXsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcnTDvHIgdm9ybmUiLCAnT2ZmZW4nLCB0cnVlKTsKIH0gZWxzZSB7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5GYWhyZXJ0w7xyIHZvcm5lIiwgJycrIHJlc3VsdC5kb29yRHJpdmVyRnJvbnQsIHRydWUpOwp9OwppZiAocmVzdWx0LmRvb3JEcml2ZXJSZWFyID09ICdDTE9TRUQnKSB7CiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcnTDvHIgaGludGVuIiwgJ0dlc2NobG9zc2VuJywgdHJ1ZSk7Cn0gZWxzZSBpZiAocmVzdWx0LmRvb3JEcml2ZXJSZWFyID09ICdPUEVOJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5GYWhyZXJ0w7xyIGhpbnRlbiIsICdPZmZlbicsIHRydWUpOwogfSBlbHNlIHsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcnTDvHIgaGludGVuIiwgJycrIHJlc3VsdC5kb29yRHJpdmVyUmVhciwgdHJ1ZSk7Cn07CmlmIChyZXN1bHQuZG9vclBhc3NlbmdlckZyb250ID09ICdDTE9TRUQnKSB7CiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkJlaWZhaHJlcnTDvHIgdm9ybmUiLCAnR2VzY2hsb3NzZW4nLCB0cnVlKTsKfSBlbHNlIGlmIChyZXN1bHQuZG9vclBhc3NlbmdlckZyb250ID09ICdPUEVOJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJ0w7xyIHZvcm5lIiwgJ09mZmVuJywgdHJ1ZSk7Cn0gIGVsc2UgeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQmVpZmFocmVydMO8ciB2b3JuZSIsICcnKyByZXN1bHQuZG9vclBhc3NlbmdlckZyb250LCB0cnVlKTsKfTsKaWYgKHJlc3VsdC5kb29yUGFzc2VuZ2VyUmVhciA9PSAnQ0xPU0VEJykgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJ0w7xyIGhpbnRlbiIsICdHZXNjaGxvc3NlbicsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5kb29yUGFzc2VuZ2VyUmVhciA9PSAnT1BFTicpeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQmVpZmFocmVydMO8ciBoaW50ZW4iLCAnT2ZmZW4nLCB0cnVlKTsKfSAgZWxzZSB7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJ0w7xyIGhpbnRlbiIsICcnKyByZXN1bHQuZG9vclBhc3NlbmdlclJlYXIsIHRydWUpOwp9OwppZiAocmVzdWx0LndpbmRvd0RyaXZlckZyb250ID09ICdDTE9TRUQnKSB7CiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcmZlbnN0ZXIgdm9ybmUiLCAnR2VzY2hsb3NzZW4nLCB0cnVlKTsKfSBlbHNlIGlmIChyZXN1bHQud2luZG93RHJpdmVyRnJvbnQgPT0gJ09QRU4nKXsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcmZlbnN0ZXIgdm9ybmUiLCAnT2ZmZW4nLCB0cnVlKTsKIH0gZWxzZSB7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5GYWhyZXJmZW5zdGVyIHZvcm5lIiwgJycrIHJlc3VsdC53aW5kb3dEcml2ZXJGcm9udCwgdHJ1ZSk7Cn07CmlmIChyZXN1bHQud2luZG93RHJpdmVyUmVhciA9PSAnQ0xPU0VEJykgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5GYWhyZXJmZW5zdGVyIGhpbnRlbiIsICdHZXNjaGxvc3NlbicsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC53aW5kb3dEcml2ZXJSZWFyID09ICdPUEVOJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5GYWhyZXJmZW5zdGVyIGhpbnRlbiIsICdPZmZlbicsIHRydWUpOwp9ICBlbHNlIHsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcmZlbnN0ZXIgaGludGVuIiwgJycrIHJlc3VsdC53aW5kb3dEcml2ZXJSZWFyLCB0cnVlKTsKfTsKaWYgKHJlc3VsdC53aW5kb3dQYXNzZW5nZXJGcm9udCA9PSAnQ0xPU0VEJykgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJmZW5zdGVyIHZvcm5lIiwgJ0dlc2NobG9zc2VuJywgdHJ1ZSk7Cn0gZWxzZSBpZiAocmVzdWx0LndpbmRvd1Bhc3NlbmdlckZyb250ID09ICdPUEVOJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJmZW5zdGVyIHZvcm5lIiwgJ09mZmVuJywgdHJ1ZSk7CiB9IGVsc2UgeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQmVpZmFocmVyZmVuc3RlciB2b3JuZSIsICcnKyByZXN1bHQud2luZG93UGFzc2VuZ2VyRnJvbnQsIHRydWUpOwp9OwppZiAocmVzdWx0LndpbmRvd1Bhc3NlbmdlclJlYXIgPT0gJ0NMT1NFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQmVpZmFocmVyZmVuc3RlciBoaW50ZW4iLCAnR2VzY2hsb3NzZW4nLCB0cnVlKTsKfSBlbHNlIGlmIChyZXN1bHQud2luZG93UGFzc2VuZ2VyUmVhciA9PSAnT1BFTicpeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQmVpZmFocmVyZmVuc3RlciBoaW50ZW4iLCAnT2ZmZW4nLCB0cnVlKTsKfSAgZWxzZSB7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJmZW5zdGVyIGhpbnRlbiIsICcnKyByZXN1bHQud2luZG93UGFzc2VuZ2VyUmVhciwgdHJ1ZSk7Cn07CmlmIChyZXN1bHQudHJ1bmsgPT0gJ0NMT1NFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuS29mZmVycmF1bSIsICdHZXNjaGxvc3NlbicsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC50cnVuayA9PSAnT1BFTicpeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuS29mZmVycmF1bSIsICdPZmZlbicsIHRydWUpOwogfSBlbHNlIHsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLktvZmZlcnJhdW0iLCAnJysgcmVzdWx0LnRydW5rLCB0cnVlKTsKfTsKaWYgKHJlc3VsdC5yZWFyV2luZG93ID09ICdDTE9TRUQnKSB7CiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkhlY2tmZW5zdGVyIiwgJ0dlc2NobG9zc2VuJywgdHJ1ZSk7Cn0gZWxzZSBpZiAocmVzdWx0LnJlYXJXaW5kb3cgPT0gJ09QRU4nKXsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkhlY2tmZW5zdGVyIiwgJ09mZmVuJywgdHJ1ZSk7Cn0gZWxzZSB7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5IZWNrZmVuc3RlciIsICdOaWNodCB2b3JoYW5kZW4nLCB0cnVlKTsKfTsKaWYgKHJlc3VsdC5jb252ZXJ0aWJsZVJvb2ZTdGF0ZSA9PSAnQ0xPU0VEU0VDVVJFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQ2FicmlvZGFjaCIsICdHZXNjaGxvc3NlbicsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5jb252ZXJ0aWJsZVJvb2ZTdGF0ZSA9PSAnT1BFTicpeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQ2FicmlvZGFjaCIsICdPZmZlbicsIHRydWUpOwp9IGVsc2UgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5DYWJyaW9kYWNoIiwgJ05pY2h0IHZvcmhhbmRlbicsIHRydWUpOwp9OwppZiAocmVzdWx0Lmhvb2QgPT0gJ0NMT1NFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTW90b3JoYXViZSIsICdHZXNjaGxvc3NlbicsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5ob29kID09ICdPUEVOJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5Nb3RvcmhhdWJlIiwgJ09mZmVuJywgdHJ1ZSk7Cn0gIGVsc2UgeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTW90b3JoYXViZSIsICcnKyByZXN1bHQuaG9vZCwgdHJ1ZSk7Cn07CmlmIChyZXN1bHQuZG9vckxvY2tTdGF0ZSA9PSAnU0VDVVJFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuVMO8cnZlcnJpZWdlbHVuZyIsICdHZXNpY2hlcnQnLCB0cnVlKTsKfSBlbHNlIGlmIChyZXN1bHQuZG9vckxvY2tTdGF0ZSA9PSAnTE9DS0VEJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5Uw7xydmVycmllZ2VsdW5nIiwgJ1ZlcnJpZWdlbHQnLCB0cnVlKTsKfSAgZWxzZSBpZiAocmVzdWx0LmRvb3JMb2NrU3RhdGUgPT0gJ1VOTE9DS0VEJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5Uw7xydmVycmllZ2VsdW5nIiwgJ0VudHJpZWdlbHQnLCB0cnVlKTsKfSAgZWxzZSBpZiAocmVzdWx0LmRvb3JMb2NrU3RhdGUgPT0gJ1NFTEVDVElWRV9MT0NLRUQnKXsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlTDvHJ2ZXJyaWVnZWx1bmciLCAnRW50cmllZ2VsdCcsIHRydWUpOwp9IGVsc2UgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5Uw7xydmVycmllZ2VsdW5nIiwgJycrIHJlc3VsdC5kb29yTG9ja1N0YXRlLCB0cnVlKTsKfTsKaWYgKHJlc3VsdC5wYXJraW5nTGlnaHQgPT0gJ09GRicpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuUGFya2xldWNodGVuIiwgJ0F1cycsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5wYXJraW5nTGlnaHQgPT0gJ09OJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5QYXJrbGV1Y2h0ZW4iLCAnQW4nLCB0cnVlKTsKfSAgZWxzZSB7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5QYXJrbGV1Y2h0ZW4iLCAnJysgcmVzdWx0LnBhcmtpbmdMaWdodCwgdHJ1ZSk7Cn07CmlmIChyZXN1bHQucG9zaXRpb25MaWdodCA9PSAnT0ZGJykgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5TdGFuZGxpY2h0IiwgJ0F1cycsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5wb3NpdGlvbkxpZ2h0ID09ICdPTicpeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuU3RhbmRsaWNodCIsICdBbicsIHRydWUpOwp9ICBlbHNlIHsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlN0YW5kbGljaHQiLCAnJysgcmVzdWx0LnBvc2l0aW9uTGlnaHQsIHRydWUpOwp9OwppZiAocmVzdWx0Lmxhc3RDaGFyZ2luZ0VuZFJlYXNvbiA9PSAnQ0hBUkdJTkdfR09BTF9SRUFDSEVEJykgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MZXR6dGVyIExhZGV2b3JnYW5nIEJlZW5kaWd1bmdzZ3J1bmQiLCAnTGFkZXppZWwgZXJyZWljaHQnLCB0cnVlKTsKfSBlbHNlIGlmIChyZXN1bHQubGFzdENoYXJnaW5nRW5kUmVhc29uID09ICdFTkRfUkVRVUVTVEVEX0JZX0RSSVZFUicpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGV0enRlciBMYWRldm9yZ2FuZyBCZWVuZGlndW5nc2dydW5kIiwgJ0R1cmNoIEZhaHJlciBiZWVuZGV0JywgdHJ1ZSk7Cn0gZWxzZSBpZiAocmVzdWx0Lmxhc3RDaGFyZ2luZ0VuZFJlYXNvbiA9PSAnVU5LTk9XTicpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGV0enRlciBMYWRldm9yZ2FuZyBCZWVuZGlndW5nc2dydW5kIiwgJ1VuYmVrYW5udCcsIHRydWUpOwp9ICBlbHNlIHsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkxldHp0ZXIgTGFkZXZvcmdhbmcgQmVlbmRpZ3VuZ3NncnVuZCIsICcnK3Jlc3VsdC5sYXN0Q2hhcmdpbmdFbmRSZWFzb24sIHRydWUpOwp9OwppZiAocmVzdWx0Lmxhc3RDaGFyZ2luZ0VuZFJlc3VsdCA9PSAnU1VDQ0VTUycpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGV0enRlciBMYWRldm9yZ2FuZyBFcmdlYm5pcyIsICdFcmZvbGdyZWljaCcsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5sYXN0Q2hhcmdpbmdFbmRSZXN1bHQgPT0gJ1VOS05PV04nKSB7CiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkxldHp0ZXIgTGFkZXZvcmdhbmcgRXJnZWJuaXMiLCAnVW5iZWthbm50JywgdHJ1ZSk7Cn0gIGVsc2UgeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGV0enRlciBMYWRldm9yZ2FuZyBFcmdlYm5pcyIsICcnK3Jlc3VsdC5sYXN0Q2hhcmdpbmdFbmRSZXN1bHQsIHRydWUpOwp9OwppZiAocmVzdWx0LmNoYXJnaW5nVGltZVJlbWFpbmluZyA9PSBudWxsKSB7CiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlZlcmJsZWliZW5kZSBMYWRlemVpdCIsIDAsIHRydWUpOwp9ICBlbHNlIHsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlZlcmJsZWliZW5kZSBMYWRlemVpdCIsIHBhcnNlRmxvYXQocmVzdWx0LmNoYXJnaW5nVGltZVJlbWFpbmluZyksIHRydWUpOwp9OwppZiAocmVzdWx0LmNvbm5lY3Rpb25TdGF0dXMgPT0gJ0RJU0NPTk5FQ1RFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuVmVyYmluZHVuZ3NzdGF0dXMiLCAnTmljaHQgdmVyYnVuZGVuJywgdHJ1ZSk7Cn0gZWxzZSBpZiAocmVzdWx0LmNvbm5lY3Rpb25TdGF0dXMgPT0gJ0NPTk5FQ1RFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuVmVyYmluZHVuZ3NzdGF0dXMiLCAnVmVyYnVuZGVuJywgdHJ1ZSk7Cn0gZWxzZSB7CiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlZlcmJpbmR1bmdzc3RhdHVzIiwgJycrcmVzdWx0LmNvbm5lY3Rpb25TdGF0dXMsIHRydWUpOwp9OwppZiAocmVzdWx0LmNoYXJnaW5nSW5kdWN0aXZlUG9zaXRpb25pbmcgPT0gJ05PVF9QT1NJVElPTkVEJykgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5Qb3NpdGlvbmllcnVuZyBJbmR1a3Rpb25zbGFkdW5nIiwgJ05pY2h0IHBvc2l0aW9uaWVydCcsIHRydWUpOwp9IGVsc2UgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5Qb3NpdGlvbmllcnVuZyBJbmR1a3Rpb25zbGFkdW5nIiwgJycrcmVzdWx0LmNoYXJnaW5nSW5kdWN0aXZlUG9zaXRpb25pbmcsIHRydWUpOwp9OwppZiAocmVzdWx0LmNoYXJnaW5nU3RhdHVzID09ICdDSEFSR0lORycpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGFkZXN0YXR1cyIsICdMYWRlbiBha3RpdicsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5jaGFyZ2luZ1N0YXR1cyA9PSAnRVJST1InKXsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkxhZGVzdGF0dXMiLCAnRmVobGVyJywgdHJ1ZSk7Cn0gIGVsc2UgaWYgKHJlc3VsdC5jaGFyZ2luZ1N0YXR1cyA9PSAnRklOSVNIRURfRlVMTFlfQ0hBUkdFRCcpeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGFkZXN0YXR1cyIsICdWb2xsc3TDpG5kaWcgZ2VsYWRlbicsIHRydWUpOwp9ICBlbHNlIGlmIChyZXN1bHQuY2hhcmdpbmdTdGF0dXMgPT0gJ0ZJTklTSEVEX05PVF9GVUxMJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MYWRlc3RhdHVzIiwgJ1Vudm9sbHN0w6RuZGlnIGdlbGFkZW4nLCB0cnVlKTsKfSAgZWxzZSBpZiAocmVzdWx0LmNoYXJnaW5nU3RhdHVzID09ICdJTlZBTElEJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MYWRlc3RhdHVzIiwgJ1VuZ8O8bHRpZycsIHRydWUpOwp9ICBlbHNlIGlmIChyZXN1bHQuY2hhcmdpbmdTdGF0dXMgPT0gJ05PVF9DSEFSR0lORycpeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGFkZXN0YXR1cyIsICdMYWRlbiBpbmFrdGl2JywgdHJ1ZSk7Cn0gIGVsc2UgaWYgKHJlc3VsdC5jaGFyZ2luZ1N0YXR1cyA9PSAnV0FJVElOR19GT1JfQ0hBUkdJTkcnKXsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkxhZGVzdGF0dXMiLCAnV2FydGUgYXVmIExhZGVzdGFydCcsIHRydWUpOwp9IGVsc2UgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MYWRlc3RhdHVzIiwgJycrcmVzdWx0LmNoYXJnaW5nU3RhdHVzLCB0cnVlKTsKfTsKCgovL3NldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlNlcnZpY2ViZWRhcmYuSGF1cHR1bnRlcnN1Y2h1bmcuRGF0dW0iLCAnJytyZXN1bHQuY2JzRGF0YVsxXS5jYnNEdWVEYXRlLCB0cnVlKTsKLy9zZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TZXJ2aWNlYmVkYXJmLkhhdXB0dW50ZXJzdWNodW5nLlN0YXR1cyIsICcnK3Jlc3VsdC5jYnNEYXRhWzFdLmNic1N0YXRlLCB0cnVlKTsKLy9jYnNEYXRhIApzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TZXJ2aWNlYmVkYXJmLkZhaHJ6ZXVnY2hlY2suRGF0dW0iLCAnJytyZXN1bHQuY2JzRGF0YVsxXS5jYnNEdWVEYXRlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi5GYWhyemV1Z2NoZWNrLlN0YXR1cyIsICcnK3Jlc3VsdC5jYnNEYXRhWzFdLmNic1N0YXRlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi5GYWhyemV1Z2NoZWNrLlZlcmJsZWliZW5kZSBrbSIsIHBhcnNlRmxvYXQocmVzdWx0LmNic0RhdGFbMV0uY2JzUmVtYWluaW5nTWlsZWFnZSksIHRydWUpOwovL2Nic0RBVEEgMQpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TZXJ2aWNlYmVkYXJmLkJyZW1zZmzDvHNzaWdrZWl0LkRhdHVtIiwgJycrcmVzdWx0LmNic0RhdGFbMl0uY2JzRHVlRGF0ZSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlNlcnZpY2ViZWRhcmYuQnJlbXNmbMO8c3NpZ2tlaXQuU3RhdHVzIiwgJycrcmVzdWx0LmNic0RhdGFbMl0uY2JzU3RhdGUsIHRydWUpOwovL2NiZERBVEEgMApzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TZXJ2aWNlYmVkYXJmLsOWbHNlcnZpY2UuRGF0dW0iLCAnJytyZXN1bHQuY2JzRGF0YVswXS5jYnNEdWVEYXRlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi7DlmxzZXJ2aWNlLlN0YXR1cyIsICcnK3Jlc3VsdC5jYnNEYXRhWzBdLmNic1N0YXRlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi7DlmxzZXJ2aWNlLlZlcmJsZWliZW5kZSBrbSIsIHBhcnNlRmxvYXQocmVzdWx0LmNic0RhdGFbMF0uY2JzUmVtYWluaW5nTWlsZWFnZSksIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuS2lsb21ldGVyc3RhbmQiLCBwYXJzZUZsb2F0KHJlc3VsdC5taWxlYWdlKSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5LcmFmdHN0b2Zmc3RhbmQgTGl0ZXIiLCBwYXJzZUZsb2F0KHJlc3VsdC5yZW1haW5pbmdGdWVsKSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MYWRlenVzdGFuZCBrbSIsIHBhcnNlRmxvYXQocmVzdWx0LnJlbWFpbmluZ1JhbmdlRWxlY3RyaWMpLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLktvbWJpbmllcnRlIFJlaWNod2VpdGUiLCBwYXJzZUZsb2F0KHJlc3VsdC5yZW1haW5pbmdSYW5nZUZ1ZWwpLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLktyYWZ0c3RvZmZzdGFuZCAlIiwgcGFyc2VGbG9hdChyZXN1bHQuZnVlbFBlcmNlbnQpLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkxhZGV6dXN0YW5kICUiLCBwYXJzZUZsb2F0KHJlc3VsdC5jaGFyZ2luZ0xldmVsSHYpLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhbmRvcnQuQnJlaXRlbmdyYWQiLCBwYXJzZUZsb2F0KHJlc3VsdC5wb3NpdGlvbi5sYXQpLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhbmRvcnQuTMOkbmdlbmdyYWQiLCBwYXJzZUZsb2F0KHJlc3VsdC5wb3NpdGlvbi5sb24pLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhbmRvcnQuUmljaHR1bmciLCBwYXJzZUZsb2F0KHJlc3VsdC5wb3NpdGlvbi5oZWFkaW5nKSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YW5kb3J0LlN0YXR1cyIsICcnK3Jlc3VsdC5wb3NpdGlvbi5zdGF0dXMsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGFuZG9ydC5Hb29nbGUgTWFwcyIsICdodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZGlyL2hvbWUvJysoZ2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhbmRvcnQuQnJlaXRlbmdyYWQiKS52YWwpKycsJysoZ2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhbmRvcnQuTMOkbmdlbmdyYWQiKS52YWwpKycvQD9obD1kZScsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuRWlubWFsaWdlIFNvZm9ydGxhZHVuZyIsIHJlc3VsdC5zaW5nbGVJbW1lZGlhdGVDaGFyZ2luZywgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MYWRldmVyYmluZHVuZyIsICcnK3Jlc3VsdC5jaGFyZ2luZ0Nvbm5lY3Rpb25UeXBlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkNoZWNrIENvbnRyb2wgTWVsZHVuZyIsICcnK3Jlc3VsdC5jaGVja0NvbnRyb2xNZXNzYWdlc1swXSwgdHJ1ZSk7CgovL2NvbnNvbGUubG9nKHJlc3VsdC5kb29yTG9ja1N0YXRlKTsKCn07CnJlcXVlc3QuZ2V0KG9wdGlvbnMsIGNhbGxiYWNrKTsK</field>
                          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                        </block>
                        <block type="procedures_defcustomnoreturn" id="C|Hc:`b-c/c[Tgs1y:IM" x="-38" y="-1037">
                          <mutation statements="false">
                            <arg name="Befehl" varid="Ryywje#7IoGUwl?[YLYR"></arg>
                          </mutation>
                          <field name="NAME">Befehl</field>
                          <field name="SCRIPT">dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKdmFyIHJlcXVlc3QgPSByZXF1aXJlKCJyZXF1ZXN0Iik7CnZhciBkZXRhaWxzID0gewogICAgJ3NlcnZpY2VUeXBlJzogQmVmZWhsLAogICAgJ2Jtd1NrQW5zd2VyJzogU2ljaGVyaGVpdHNhbnR3b3J0Cn07CiAKdmFyIGZvcm1Cb2R5ID0gW107CmZvciAodmFyIHByb3BlcnR5IGluIGRldGFpbHMpIHsKICB2YXIgZW5jb2RlZEtleSA9IGVuY29kZVVSSUNvbXBvbmVudChwcm9wZXJ0eSk7CiAgdmFyIGVuY29kZWRWYWx1ZSA9IGVuY29kZVVSSUNvbXBvbmVudChkZXRhaWxzW3Byb3BlcnR5XSk7CiAgZm9ybUJvZHkucHVzaChlbmNvZGVkS2V5ICsgIj0iICsgZW5jb2RlZFZhbHVlKTsKfQpmb3JtQm9keSA9IGZvcm1Cb2R5LmpvaW4oIiYiKTsKCgogdmFyIG9wdGlvbnMgPSB7CiAgdXJsOiAnaHR0cHM6Ly9iMnZhcGkuYm13Z3JvdXAuY29tL3dlYmFwaS92MS91c2VyL3ZlaGljbGVzLycrKGdldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkZhaHJ6ZXVnLkZhaHJnZXN0ZWxsbnVtbWVyIikudmFsKSsnL2V4ZWN1dGVTZXJ2aWNlJywKICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfSwKICBhdXRoOiB7CiAgICBiZWFyZXI6IChnZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Ub2tlbiIpLnZhbCl9LAogIGJvZHk6IGZvcm1Cb2R5Cn07CgpmdW5jdGlvbiBjYWxsYmFjayhlcnJvciwgcmVzcG9uc2UsIGJvZHkpIHsKdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UoYm9keSk7CmNvbnNvbGUubG9nKHJlc3VsdCkKfQoKCnJlcXVlc3QucG9zdChvcHRpb25zLCBjYWxsYmFjayk7</field>
                          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                        </block>
                        <block type="procedures_defcustomnoreturn" id="qLVD,Ua~|Xo7$C,E2/2R" x="-38" y="-1012">
                          <mutation statements="false"></mutation>
                          <field name="NAME">Token abfragen</field>
                          <field name="SCRIPT">dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKdmFyIHJlcXVlc3QgPSByZXF1aXJlKCJyZXF1ZXN0Iik7CnZhciBkZXRhaWxzID0gewogICAgJ3VzZXJuYW1lJzogQmVudXR6ZXJuYW1lLAogICAgJ3Bhc3N3b3JkJzogUGFzc3dvcnQsCiAgICAnZ3JhbnRfdHlwZSc6ICdwYXNzd29yZCcsCiAgICAnc2NvcGUnOidhdXRoZW50aWNhdGVfdXNlciB2ZWhpY2xlX2RhdGEgcmVtb3RlX3NlcnZpY2VzJwp9OwogCnZhciBmb3JtQm9keSA9IFtdOwpmb3IgKHZhciBwcm9wZXJ0eSBpbiBkZXRhaWxzKSB7CiAgdmFyIGVuY29kZWRLZXkgPSBlbmNvZGVVUklDb21wb25lbnQocHJvcGVydHkpOwogIHZhciBlbmNvZGVkVmFsdWUgPSBlbmNvZGVVUklDb21wb25lbnQoZGV0YWlsc1twcm9wZXJ0eV0pOwogIGZvcm1Cb2R5LnB1c2goZW5jb2RlZEtleSArICI9IiArIGVuY29kZWRWYWx1ZSk7Cn0KZm9ybUJvZHkgPSBmb3JtQm9keS5qb2luKCImIik7CgoKIHZhciBvcHRpb25zID0gewogIHVybDogJ2h0dHBzOi8vYjJ2YXBpLmJtd2dyb3VwLmNvbS9nY2RtL29hdXRoL3Rva2VuJywKICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnLCAnQXV0aG9yaXphdGlvbic6ICdCYXNpYyBaRGMyTm1JMU16Y3RZVFkxTkMwMFkySmtMV0V6WkdNdE1HTmhOVFkzTW1RM1pqaGtPakUxWmpZNU4yWTJMV0UxWkRVdE5HTmhaQzA1T1dRNUxUTmhNVFZpWXpkbU16azNNdz09JywgJ0NyZWRlbnRpYWxzJzogJ25RdjZDcXR4SnVYV1A3NHhmM0NKd1VFUDoxekRIeDZ1bjRjRGp5YkxFTk4za3lmdW1YMmtFWWlnV1BjUXBkdkRScElCazdyT0onfSwKICBib2R5OiBmb3JtQm9keQp9OwogCmZ1bmN0aW9uIGNhbGxiYWNrKGVycm9yLCByZXNwb25zZSwgYm9keSkgewp2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShib2R5KTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuVG9rZW4iLypUb2tlbiovLCAoJycgKyByZXN1bHQuYWNjZXNzX3Rva2VuKSk7CmNvbnNvbGUubG9nKHJlc3VsdCkKfQogIApyZXF1ZXN0LnBvc3Qob3B0aW9ucywgY2FsbGJhY2spOw==</field>
                          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                        </block>
                      </xml>
                      

                      Gruß Rookie

                      H Offline
                      H Offline
                      HoTi
                      wrote on last edited by
                      #290

                      @rookie50
                      Hallo Rookie,

                      läuft bei dir das Skript noch? Meine Mini SE wird leider nicht abgefragt. Im Grunde wird nix abgefragt.

                      
                      javascript.0	2021-07-13 15:55:20.398	error	(16040) Error in request callback: TypeError: Cannot read property '1' of undefined
                      javascript.0	2021-07-13 15:55:14.841	info	(16040) script.js.smarthome.sontiges.Mini: {'access_token':'....','token_type':'Bearer','expires_in':3600,'refresh_token':'....
                      javascript.0	2021-07-13 15:55:13.473	info	(16040) script.js.smarthome.sontiges.Mini: registered 0 subscriptions and 0 schedules
                      javascript.0	2021-07-13 15:55:13.439	info	(16040) Start javascript script.js.smarthome.sontiges.Mini
                      
                      H 1 Reply Last reply
                      0
                      • H HoTi

                        @rookie50
                        Hallo Rookie,

                        läuft bei dir das Skript noch? Meine Mini SE wird leider nicht abgefragt. Im Grunde wird nix abgefragt.

                        
                        javascript.0	2021-07-13 15:55:20.398	error	(16040) Error in request callback: TypeError: Cannot read property '1' of undefined
                        javascript.0	2021-07-13 15:55:14.841	info	(16040) script.js.smarthome.sontiges.Mini: {'access_token':'....','token_type':'Bearer','expires_in':3600,'refresh_token':'....
                        javascript.0	2021-07-13 15:55:13.473	info	(16040) script.js.smarthome.sontiges.Mini: registered 0 subscriptions and 0 schedules
                        javascript.0	2021-07-13 15:55:13.439	info	(16040) Start javascript script.js.smarthome.sontiges.Mini
                        
                        H Offline
                        H Offline
                        HoTi
                        wrote on last edited by
                        #291

                        @rookie50 und @Strobelix Danke erstmal für das Script.
                        Mein Auto wird ausgelesen, aber der 530d :-( wie kann ich ihm nun beibringen den Mini SE auch noch ausliest?
                        Der Error den Beitrag vorher kommt leider immer noch.

                        Vg
                        Tim

                        1 Reply Last reply
                        0
                        • R Rookie50

                          @strobelix Erstmal DANKE für Dein Script. Die habe ich nun genutzt um die Daten meines MINI Cabrio's einzulesen. Hat im Grund "fast" sofort funktioniert. Allerdings sind beim MINI auch die csbData Einträge verschoben. Die habe ich angepasst und nun kommen auch die Status Daten ohne Fehlermeldung.
                          Hier also nochmal das Script für ein MINI Cabrio:

                          <xml xmlns="https://developers.google.com/blockly/xml">
                            <variables>
                              <variable id="XN3*GfIfi@/dz;VqG=f1">Benutzername</variable>
                              <variable id="Ryywje#7IoGUwl?[YLYR">Befehl</variable>
                              <variable id="g!GS3XBhRJ-^i*r~I#(M">Passwort</variable>
                              <variable id="`M`m=udEPjZ8%NR9[7#t">Sicherheitsantwort</variable>
                              <variable type="timeout" id="T1">T1</variable>
                              <variable type="timeout" id="T4">T4</variable>
                              <variable type="timeout" id="T3">T3</variable>
                              <variable type="timeout" id="T5">T5</variable>
                              <variable type="timeout" id="T2">T2</variable>
                            </variables>
                            <block type="variables_set" id="25.7NsDbuJp,f,+kg9f}" x="-538" y="-1438">
                              <field name="VAR" id="XN3*GfIfi@/dz;VqG=f1">Benutzername</field>
                              <value name="VALUE">
                                <block type="text" id="|ogs8P81w~dvfv9YO/LK">
                                  <field name="TEXT">EMAIL ACCOUNT</field>
                                </block>
                              </value>
                              <next>
                                <block type="variables_set" id="A7ExvCH7vJ[i97`qN$cV">
                                  <field name="VAR" id="g!GS3XBhRJ-^i*r~I#(M">Passwort</field>
                                  <value name="VALUE">
                                    <block type="text" id="Xt:`irNXz.ndzQ0dO1uf">
                                      <field name="TEXT">PASSWORT</field>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="variables_set" id="@j5.B|TqXRajXjYa]f=f">
                                      <field name="VAR" id="`M`m=udEPjZ8%NR9[7#t">Sicherheitsantwort</field>
                                      <value name="VALUE">
                                        <block type="text" id="m#{+]bm?9QK;w(!7).2d">
                                          <field name="TEXT">PINCODE</field>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="procedures_callcustomnoreturn" id=":hC7Hfgpy82Hn#oJY{Zz">
                                          <mutation name="Datenpunkte Fahrzeug erstellen"></mutation>
                                          <next>
                                            <block type="procedures_callcustomnoreturn" id="q%,[_SU{6#d,O%*sD`Qz">
                                              <mutation name="Datenpunkte Status erstellen"></mutation>
                                              <next>
                                                <block type="procedures_callcustomnoreturn" id="4l2r#`S+v9aFUamx-Esz">
                                                  <mutation name="Datenpunkte Befehle erstellen"></mutation>
                                                  <next>
                                                    <block type="timeouts_settimeout" id=";[W?azy]IW_aXZy;1cLF">
                                                      <field name="NAME">T1</field>
                                                      <field name="DELAY">1000</field>
                                                      <field name="UNIT">ms</field>
                                                      <statement name="STATEMENT">
                                                        <block type="procedures_callcustomnoreturn" id="sCCxQw~6kxo3.d^m)Pp-">
                                                          <mutation name="Token abfragen"></mutation>
                                                        </block>
                                                      </statement>
                                                      <next>
                                                        <block type="timeouts_settimeout" id="g=Sn!j;?yu^1hi77k@8s">
                                                          <field name="NAME">T3</field>
                                                          <field name="DELAY">3000</field>
                                                          <field name="UNIT">ms</field>
                                                          <statement name="STATEMENT">
                                                            <block type="procedures_callcustomnoreturn" id="m(HG.hOx+O{]c/.2/L`k">
                                                              <mutation name="Fahrzeugdaten abfragen"></mutation>
                                                            </block>
                                                          </statement>
                                                          <next>
                                                            <block type="timeouts_settimeout" id="JzLVGc@D}Hq;ZSwgo6$g">
                                                              <field name="NAME">T2</field>
                                                              <field name="DELAY">6000</field>
                                                              <field name="UNIT">ms</field>
                                                              <statement name="STATEMENT">
                                                                <block type="procedures_callcustomnoreturn" id="bItGd$a[?ESTSSIjY-qP">
                                                                  <mutation name="Status Abfragen"></mutation>
                                                                </block>
                                                              </statement>
                                                              <next>
                                                                <block type="on" id="Lb,dTP]LKtW1;deq|Qoj">
                                                                  <field name="OID">0_userdata.0.BMW.Neuer Token</field>
                                                                  <field name="CONDITION">any</field>
                                                                  <field name="ACK_CONDITION">false</field>
                                                                  <statement name="STATEMENT">
                                                                    <block type="controls_if" id="u9vRH6uvBpbtNi5Eb$re">
                                                                      <value name="IF0">
                                                                        <block type="on_source" id="[ZV_ZO^d$dk~r;SHUx@7">
                                                                          <field name="ATTR">state.val</field>
                                                                        </block>
                                                                      </value>
                                                                      <statement name="DO0">
                                                                        <block type="procedures_callcustomnoreturn" id="iMM#y=#E0[lqAuF{O#,A">
                                                                          <mutation name="Token abfragen"></mutation>
                                                                        </block>
                                                                      </statement>
                                                                    </block>
                                                                  </statement>
                                                                  <next>
                                                                    <block type="on" id="fDMDIB0vfm{,Zq]F}@;Y">
                                                                      <field name="OID">0_userdata.0.BMW.Status abfragen</field>
                                                                      <field name="CONDITION">any</field>
                                                                      <field name="ACK_CONDITION">false</field>
                                                                      <statement name="STATEMENT">
                                                                        <block type="controls_if" id="ablR/e?U@-k_13gD,t+g">
                                                                          <value name="IF0">
                                                                            <block type="on_source" id="i:D(o^.%d)):M:,_W;,7">
                                                                              <field name="ATTR">state.val</field>
                                                                            </block>
                                                                          </value>
                                                                          <statement name="DO0">
                                                                            <block type="procedures_callcustomnoreturn" id="rx2v:]C(yCH;tQ/7s}#I">
                                                                              <mutation name="Status Abfragen"></mutation>
                                                                            </block>
                                                                          </statement>
                                                                        </block>
                                                                      </statement>
                                                                      <next>
                                                                        <block type="schedule" id="6.1-pU|?K[LZXvgI}cvN">
                                                                          <field name="SCHEDULE">*/60 * * * *</field>
                                                                          <statement name="STATEMENT">
                                                                            <block type="procedures_callcustomnoreturn" id="S_QWZ%P:XPQ1H8HWO%9)">
                                                                              <mutation name="Token abfragen"></mutation>
                                                                            </block>
                                                                          </statement>
                                                                          <next>
                                                                            <block type="schedule" id="W+ma{UTP^+kpN[].v7Zk">
                                                                              <field name="SCHEDULE">*/5 * * * *</field>
                                                                              <statement name="STATEMENT">
                                                                                <block type="procedures_callcustomnoreturn" id="U~v?l1r)Z5Q+Kbb(Z]]y">
                                                                                  <mutation name="Fahrzeugdaten abfragen"></mutation>
                                                                                  <next>
                                                                                    <block type="procedures_callcustomnoreturn" id="PBbJH+;,a,L7x=f3u1!)">
                                                                                      <mutation name="Status Abfragen"></mutation>
                                                                                    </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>
                            <block type="on" id=")QODy$[H-(7lc9HPc%Xx" x="513" y="-1438">
                              <field name="OID">0_userdata.0.BMW.Befehle.Klimatisieren</field>
                              <field name="CONDITION">any</field>
                              <field name="ACK_CONDITION">false</field>
                              <statement name="STATEMENT">
                                <block type="controls_if" id="qi2OU5y9AjO|pE1=!(W`">
                                  <value name="IF0">
                                    <block type="on_source" id="]6?RDB6_qbNs}FH@FT/5">
                                      <field name="ATTR">state.val</field>
                                    </block>
                                  </value>
                                  <statement name="DO0">
                                    <block type="procedures_callcustomnoreturn" id="DC)Em1Ehbz1LW6fj[K!7">
                                      <mutation name="Befehl">
                                        <arg name="Befehl"></arg>
                                      </mutation>
                                      <value name="ARG0">
                                        <block type="text" id="wekLEjbNhi3sYYeR;bq1">
                                          <field name="TEXT">CLIMATE_NOW</field>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="update" id="?@kSoXR52NIAnmTbP@is">
                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                          <field name="OID">0_userdata.0.BMW.Befehle.Klimatisieren</field>
                                          <field name="WITH_DELAY">TRUE</field>
                                          <field name="DELAY_MS">5000</field>
                                          <field name="UNIT">ms</field>
                                          <field name="CLEAR_RUNNING">FALSE</field>
                                          <value name="VALUE">
                                            <block type="logic_boolean" id="K/F}wA*$n:5CnQHpYr@$">
                                              <field name="BOOL">FALSE</field>
                                            </block>
                                          </value>
                                        </block>
                                      </next>
                                    </block>
                                  </statement>
                                </block>
                              </statement>
                              <next>
                                <block type="on" id="DO.4#e50zzBReVkXk5yb">
                                  <field name="OID">0_userdata.0.BMW.Befehle.Zusperren</field>
                                  <field name="CONDITION">any</field>
                                  <field name="ACK_CONDITION">false</field>
                                  <statement name="STATEMENT">
                                    <block type="controls_if" id="OiM7;RsdIpMs*67U$W1}">
                                      <value name="IF0">
                                        <block type="on_source" id="DUggLU3jpKTMWDwchY@Q">
                                          <field name="ATTR">state.val</field>
                                        </block>
                                      </value>
                                      <statement name="DO0">
                                        <block type="procedures_callcustomnoreturn" id="6]WNw%0B$@C*pjCV+42;">
                                          <mutation name="Befehl">
                                            <arg name="Befehl"></arg>
                                          </mutation>
                                          <value name="ARG0">
                                            <block type="text" id="PU^ebj(ix}-k_Y?zFd8u">
                                              <field name="TEXT">DOOR_LOCK</field>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="update" id="9rlPG|IAAhKHcZ|+99|z">
                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                              <field name="OID">0_userdata.0.BMW.Befehle.Zusperren</field>
                                              <field name="WITH_DELAY">TRUE</field>
                                              <field name="DELAY_MS">5000</field>
                                              <field name="UNIT">ms</field>
                                              <field name="CLEAR_RUNNING">FALSE</field>
                                              <value name="VALUE">
                                                <block type="logic_boolean" id="0,a9ZN|M|PkAi}n*T19O">
                                                  <field name="BOOL">FALSE</field>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="timeouts_cleartimeout" id="HV:pG3Rpo#DDVKbG+daU">
                                                  <field name="NAME">T4</field>
                                                  <next>
                                                    <block type="timeouts_settimeout" id="K^b0}p1E-~Xb4ASC]Q4H">
                                                      <field name="NAME">T4</field>
                                                      <field name="DELAY">20</field>
                                                      <field name="UNIT">sec</field>
                                                      <statement name="STATEMENT">
                                                        <block type="procedures_callcustomnoreturn" id="%#uB?:We,O/HPC5~o8mu">
                                                          <mutation name="Status Abfragen"></mutation>
                                                        </block>
                                                      </statement>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </statement>
                                    </block>
                                  </statement>
                                  <next>
                                    <block type="on" id="Mt2*}WFoiR5--row2T8H">
                                      <field name="OID">0_userdata.0.BMW.Befehle.Aufsperren</field>
                                      <field name="CONDITION">any</field>
                                      <field name="ACK_CONDITION">false</field>
                                      <statement name="STATEMENT">
                                        <block type="controls_if" id="1tfzyj?EGI~c[$sfM,=H">
                                          <value name="IF0">
                                            <block type="on_source" id="L-qx[QjgE7YK^@QoxL?s">
                                              <field name="ATTR">state.val</field>
                                            </block>
                                          </value>
                                          <statement name="DO0">
                                            <block type="procedures_callcustomnoreturn" id="UA+^g5gs#H|-G2i{TbW0">
                                              <mutation name="Befehl">
                                                <arg name="Befehl"></arg>
                                              </mutation>
                                              <value name="ARG0">
                                                <block type="text" id="cyD@aSO~.u2Bx0K/ZDvH">
                                                  <field name="TEXT">DOOR_UNLOCK</field>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="update" id="!W;+jZdtO4Z$.N{oZ!~u">
                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                  <field name="OID">0_userdata.0.BMW.Befehle.Aufsperren</field>
                                                  <field name="WITH_DELAY">TRUE</field>
                                                  <field name="DELAY_MS">5000</field>
                                                  <field name="UNIT">ms</field>
                                                  <field name="CLEAR_RUNNING">FALSE</field>
                                                  <value name="VALUE">
                                                    <block type="logic_boolean" id="i7H=1Q%)]bTWwtb,mZL^">
                                                      <field name="BOOL">FALSE</field>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="timeouts_cleartimeout" id="kCFL4[xJS;D7/KIfiBAX">
                                                      <field name="NAME">T5</field>
                                                      <next>
                                                        <block type="timeouts_settimeout" id="o8MuetpKi;us4cd)*xEw">
                                                          <field name="NAME">T5</field>
                                                          <field name="DELAY">20</field>
                                                          <field name="UNIT">sec</field>
                                                          <statement name="STATEMENT">
                                                            <block type="procedures_callcustomnoreturn" id="R9@II,t5ByNf2K*gJ[xo">
                                                              <mutation name="Status Abfragen"></mutation>
                                                            </block>
                                                          </statement>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </statement>
                                        </block>
                                      </statement>
                                      <next>
                                        <block type="on" id="x3sA~Bo,9#W8+0QQ4?Mk">
                                          <field name="OID">0_userdata.0.BMW.Befehle.Lichthupe</field>
                                          <field name="CONDITION">any</field>
                                          <field name="ACK_CONDITION">false</field>
                                          <statement name="STATEMENT">
                                            <block type="controls_if" id="g^t/])A_OBmH:}D:7hx1">
                                              <value name="IF0">
                                                <block type="on_source" id="Qk9]ZT(6`yuT9IJ1mS#h">
                                                  <field name="ATTR">state.val</field>
                                                </block>
                                              </value>
                                              <statement name="DO0">
                                                <block type="procedures_callcustomnoreturn" id="?Ar*XxGO6vVdJr~9F;?)">
                                                  <mutation name="Befehl">
                                                    <arg name="Befehl"></arg>
                                                  </mutation>
                                                  <value name="ARG0">
                                                    <block type="text" id="8y9k?DHsHpiCgnF.S`o=">
                                                      <field name="TEXT">LIGHT_FLASH</field>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="update" id="8viE(:=_WA,IPGi~+0MV">
                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                      <field name="OID">0_userdata.0.BMW.Befehle.Lichthupe</field>
                                                      <field name="WITH_DELAY">TRUE</field>
                                                      <field name="DELAY_MS">5000</field>
                                                      <field name="UNIT">ms</field>
                                                      <field name="CLEAR_RUNNING">FALSE</field>
                                                      <value name="VALUE">
                                                        <block type="logic_boolean" id="3KW3b{O(!n=5:mg(M_Wv">
                                                          <field name="BOOL">FALSE</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </next>
                                                </block>
                                              </statement>
                                            </block>
                                          </statement>
                                          <next>
                                            <block type="on" id=".`HU#5P7{T)o:1xn*a/?">
                                              <field name="OID">0_userdata.0.BMW.Befehle.Hupen</field>
                                              <field name="CONDITION">any</field>
                                              <field name="ACK_CONDITION">false</field>
                                              <statement name="STATEMENT">
                                                <block type="controls_if" id="Qrr/!E+TuG7Gq66FQA;5">
                                                  <value name="IF0">
                                                    <block type="on_source" id="mvXJMfS$OdG+L~5/z^rY">
                                                      <field name="ATTR">state.val</field>
                                                    </block>
                                                  </value>
                                                  <statement name="DO0">
                                                    <block type="procedures_callcustomnoreturn" id="%-uafX09p)!Y/xx5^fi2">
                                                      <mutation name="Befehl">
                                                        <arg name="Befehl"></arg>
                                                      </mutation>
                                                      <value name="ARG0">
                                                        <block type="text" id="}58KZNu_0dQ=K}dkAOS$">
                                                          <field name="TEXT">HORN_BLOW</field>
                                                        </block>
                                                      </value>
                                                      <next>
                                                        <block type="update" id="GWaADA}?}4ONL*[A[7Fi">
                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                          <field name="OID">0_userdata.0.BMW.Befehle.Hupen</field>
                                                          <field name="WITH_DELAY">TRUE</field>
                                                          <field name="DELAY_MS">5000</field>
                                                          <field name="UNIT">ms</field>
                                                          <field name="CLEAR_RUNNING">FALSE</field>
                                                          <value name="VALUE">
                                                            <block type="logic_boolean" id="f^.-6^1JVE#^ag9aE_/X">
                                                              <field name="BOOL">FALSE</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </statement>
                                                </block>
                                              </statement>
                                              <next>
                                                <block type="on" id="Vhk9JdYK#{eK`xo9l]hS">
                                                  <field name="OID">0_userdata.0.BMW.Befehle.Türen verriegelt boolean</field>
                                                  <field name="CONDITION">ne</field>
                                                  <field name="ACK_CONDITION">false</field>
                                                  <statement name="STATEMENT">
                                                    <block type="controls_if" id="=32B-jUiOxfo-@z%Enkk">
                                                      <mutation else="1"></mutation>
                                                      <value name="IF0">
                                                        <block type="on_source" id="~~AZ={~tQ?Y!E}_f7D~]">
                                                          <field name="ATTR">state.val</field>
                                                        </block>
                                                      </value>
                                                      <statement name="DO0">
                                                        <block type="control" id="+rt4k;*u!=Diy{KbOU(8">
                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                          <field name="OID">0_userdata.0.BMW.Befehle.Zusperren</field>
                                                          <field name="WITH_DELAY">FALSE</field>
                                                          <value name="VALUE">
                                                            <block type="logic_boolean" id="vq-.Och#,2*o%xQARVeP">
                                                              <field name="BOOL">TRUE</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </statement>
                                                      <statement name="ELSE">
                                                        <block type="control" id="9!u{=):MD$_iG09[}T0A">
                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                          <field name="OID">0_userdata.0.BMW.Befehle.Aufsperren</field>
                                                          <field name="WITH_DELAY">FALSE</field>
                                                          <value name="VALUE">
                                                            <block type="logic_boolean" id="fa-4=P/n|:C`K{-ixe3S">
                                                              <field name="BOOL">TRUE</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </statement>
                                                    </block>
                                                  </statement>
                                                  <next>
                                                    <block type="on" id="1ADkR3Z`F_-a)|M:fB7-">
                                                      <field name="OID">0_userdata.0.BMW.Status.Türverriegelung</field>
                                                      <field name="CONDITION">ne</field>
                                                      <field name="ACK_CONDITION">true</field>
                                                      <statement name="STATEMENT">
                                                        <block type="controls_if" id="v!Vu7EO:!dG(jpe;x2xD">
                                                          <mutation else="1"></mutation>
                                                          <value name="IF0">
                                                            <block type="logic_compare" id="GXN9SU]9FjxoypMbH3QD">
                                                              <field name="OP">EQ</field>
                                                              <value name="A">
                                                                <block type="on_source" id="Q.J_$G`AzV2??o(MyP`R">
                                                                  <field name="ATTR">state.val</field>
                                                                </block>
                                                              </value>
                                                              <value name="B">
                                                                <block type="text" id="}^BDPcKx]3rmlx-*%UN#">
                                                                  <field name="TEXT">Entriegelt</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <statement name="DO0">
                                                            <block type="update" id="tixY~5k,`[b;Uyon{Z3N">
                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                              <field name="OID">0_userdata.0.BMW.Befehle.Türen verriegelt boolean</field>
                                                              <field name="WITH_DELAY">FALSE</field>
                                                              <value name="VALUE">
                                                                <block type="logic_boolean" id="I8cRbAkI}r9c:WqD+xQD">
                                                                  <field name="BOOL">FALSE</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </statement>
                                                          <statement name="ELSE">
                                                            <block type="update" id="rU$~CF:N/Aj;=ODV+;)D">
                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                              <field name="OID">0_userdata.0.BMW.Befehle.Türen verriegelt boolean</field>
                                                              <field name="WITH_DELAY">FALSE</field>
                                                              <value name="VALUE">
                                                                <block type="logic_boolean" id="r5W(~)`uh/rW@uA*b2?*">
                                                                  <field name="BOOL">TRUE</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </statement>
                                                        </block>
                                                      </statement>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                            <block type="procedures_defcustomnoreturn" id=":tqG!IfOg@ann$}w1S@h" x="-37" y="-1162">
                              <mutation statements="false"></mutation>
                              <field name="NAME">Datenpunkte Befehle erstellen</field>
                              <field name="SCRIPT">Y3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzIGFiZnJhZ2VuIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlN0YXR1cyBhYmZyYWdlbiIsInJvbGUiOiAiYnV0dG9uIiwidHlwZSI6ICJib29sZWFuIiwicmVhZCI6IHRydWUsIndyaXRlIjogdHJ1ZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjogZmFsc2V9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5OZXVlciBUb2tlbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJOZXVlciBUb2tlbiIsInJvbGUiOiAiYnV0dG9uIiwidHlwZSI6ICJib29sZWFuIiwicmVhZCI6IHRydWUsIndyaXRlIjogdHJ1ZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjogZmFsc2V9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Ub2tlbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJUb2tlbiIsInJvbGUiOiAiIiwidHlwZSI6ICJzdHJpbmciLCJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6ICIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiB0cnVlfScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuQmVmZWhsZS5LbGltYXRpc2llcmVuIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkJlZmVobCBLbGltYXRpc2llcmVuIiwicm9sZSI6ICJidXR0b24iLCJ0eXBlIjogImJvb2xlYW4iLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiB0cnVlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiBmYWxzZX0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkJlZmVobGUuSHVwZW4iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiQmVmZWhsIEh1cGVuIiwicm9sZSI6ICJidXR0b24iLCJ0eXBlIjogImJvb2xlYW4iLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiB0cnVlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiBmYWxzZX0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkJlZmVobGUuQXVmc3BlcnJlbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJCZWZlaGwgQXVmc3BlcnJlbiIsInJvbGUiOiAiYnV0dG9uIiwidHlwZSI6ICJib29sZWFuIiwicmVhZCI6IHRydWUsIndyaXRlIjogdHJ1ZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjogZmFsc2V9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5CZWZlaGxlLlp1c3BlcnJlbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJCZWZlaGwgWnVzcGVycmVuIiwicm9sZSI6ICJidXR0b24iLCJ0eXBlIjogImJvb2xlYW4iLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiB0cnVlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiBmYWxzZX0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkJlZmVobGUuTGljaHRodXBlIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkJlZmVobCBMaWNodGh1cGUiLCJyb2xlIjogImJ1dHRvbiIsInR5cGUiOiAiYm9vbGVhbiIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IHRydWUsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IGZhbHNlfScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuQmVmZWhsZS5Uw7xyZW4gdmVycmllZ2VsdCBib29sZWFuIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlTDvHJlbiB2ZXJyaWVnZWx0IGJvb2xlYW4iLCJyb2xlIjogInN3aXRjaCIsInR5cGUiOiAiYm9vbGVhbiIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IHRydWUsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IGZhbHNlfScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7</field>
                              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                            </block>
                            <block type="procedures_defcustomnoreturn" id="K]RD5Zz+BB5-#J|b@zcu" x="-38" y="-1137">
                              <mutation statements="false"></mutation>
                              <field name="NAME">Datenpunkte Fahrzeug erstellen</field>
                              <field name="SCRIPT">Y3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuRmFocnpldWcuRmFocmdlc3RlbGxudW1tZXIiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRmFocnpldWcgRmFocmdlc3RlbGxudW1tZXIiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5GYWhyemV1Zy5Nb2RlbCIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJGYWhyemV1ZyBNb2RlbCIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkZhaHJ6ZXVnLlR5cCIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJGYWhyemV1ZyBUeXAiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5GYWhyemV1Zy5BbnRyaWViIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkZhaHJ6ZXVnIEFudHJpZWIiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5GYWhyemV1Zy5GYXJiZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJGYWhyemV1ZyBGYXJiZSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkZhaHJ6ZXVnLkZhcmJjb2RlIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkZhaHJ6ZXVnIEZhcmJjb2RlIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuRmFocnpldWcuQmF1amFociIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJGYWhyemV1ZyBCYXVqYWhyIiwicm9sZSI6ICIiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJtaW4iOiAwLCJtYXgiOiAzMDAwLCJkZWYiOiAwLCJ1bml0IjogIiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuSMOkbmRsZXIuTmFtZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJIw6RuZGxlciBOYW1lIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuSMOkbmRsZXIuU3RyYcOfZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJIw6RuZGxlciBTdHJhw59lIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuSMOkbmRsZXIuUExaIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkjDpG5kbGVyIFBMWiIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkjDpG5kbGVyLk9ydCIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJIw6RuZGxlciBPcnQiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Iw6RuZGxlci5MYW5kIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkjDpG5kbGVyIExhbmQiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Iw6RuZGxlci5UZWxlZm9uIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkjDpG5kbGVyIFRlbGVmb24iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5GYWhyemV1Zy5BbGFybWFubGFnZSB2b3JoYW5kZW4iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRmFocnpldWcgQWxhcm1hbmxhZ2Ugdm9yaGFuZGVuIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAiYm9vbGVhbiIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiJmYWxzZSJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTs=</field>
                              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                            </block>
                            <block type="procedures_defcustomnoreturn" id="z_62?G;+Z_ju{aky5~UA" x="-37" y="-1113">
                              <mutation statements="false"></mutation>
                              <field name="NAME">Datenpunkte Status erstellen</field>
                              <field name="SCRIPT">Y3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi5IYXVwdHVudGVyc3VjaHVuZy5EYXR1bSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJEYXR1bSBIYXVwdHVudGVyc3VjaHVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi5IYXVwdHVudGVyc3VjaHVuZy5TdGF0dXMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiU3RhdHVzIEhhdXB0dW50ZXJzdWNodW5nIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TZXJ2aWNlYmVkYXJmLkZhaHJ6ZXVnY2hlY2suU3RhdHVzIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlN0YXR1cyBGYWhyemV1Z2NoZWNrIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TZXJ2aWNlYmVkYXJmLkZhaHJ6ZXVnY2hlY2suRGF0dW0iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRGF0dW0gRmFocnpldWdjaGVjayIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi5GYWhyemV1Z2NoZWNrLlZlcmJsZWliZW5kZSBrbSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJWZXJibGVpYmVuZGUga20gRmFocnpldWdjaGVjayIsInJvbGUiOiAiIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJtaW4iOiAwLCJtYXgiOiAxMDAwMDAwMDAsImRlZiI6IDAsInVuaXQiOiAia20ifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi5CcmVtc2Zsw7xzc2lna2VpdC5EYXR1bSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJEYXR1bSBCcmVtc2Zsw7xzc2lna2VpdCIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi5CcmVtc2Zsw7xzc2lna2VpdC5TdGF0dXMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiU3RhdHVzIEJyZW1zZmzDvHNzaWdrZWl0Iiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TZXJ2aWNlYmVkYXJmLsOWbHNlcnZpY2UuRGF0dW0iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRGF0dW0gw5Zsc2VydmljZSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi7DlmxzZXJ2aWNlLlN0YXR1cyIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJTdGF0dXMgw5Zsc2VydmljZSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi7DlmxzZXJ2aWNlLlZlcmJsZWliZW5kZSBrbSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJWZXJibGVpYmVuZGUga20gw5Zsc2VydmljZSIsInJvbGUiOiAiIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJtaW4iOiAwLCJtYXgiOiAxMDAwMDAwMDAsImRlZiI6IDAsInVuaXQiOiAia20ifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLktpbG9tZXRlcnN0YW5kIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIktpbG9tZXRlcnN0YW5kIiwicm9sZSI6ICIiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsIm1pbiI6IDAsIm1heCI6IDEwMDAwMDAwMCwiZGVmIjogMCwidW5pdCI6ICJrbSJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuRmFocmVydMO8ciB2b3JuZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJGYWhyZXJ0w7xyIHZvcm5lIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuRmFocmVydMO8ciBoaW50ZW4iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRmFocmVydMO8ciBoaW50ZW4iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJ0w7xyIHZvcm5lIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkJlaWZhaHJlcnTDvHIgdm9ybmUiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJ0w7xyIGhpbnRlbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJCZWlmYWhyZXJ0w7xyIGhpbnRlbiIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcmZlbnN0ZXIgdm9ybmUiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRmFocmVyZmVuc3RlciB2b3JuZSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcmZlbnN0ZXIgaGludGVuIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkZhaHJlcmZlbnN0ZXIgaGludGVuIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQmVpZmFocmVyZmVuc3RlciB2b3JuZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJCZWlmYWhyZXJmZW5zdGVyIHZvcm5lIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQmVpZmFocmVyZmVuc3RlciBoaW50ZW4iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiQmVpZmFocmVyZmVuc3RlciBoaW50ZW4iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5Lb2ZmZXJyYXVtIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIktvZmZlcnJhdW0iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5IZWNrZmVuc3RlciIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJIZWNrZmVuc3RlciIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLk1vdG9yaGF1YmUiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiTW90b3JoYXViZSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlTDvHJ2ZXJyaWVnZWx1bmciLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiVMO8cnZlcnJpZWdlbHVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlBhcmtsZXVjaHRlbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJQYXJrbGV1Y2h0ZW4iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5TdGFuZGxpY2h0IiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlN0YW5kbGljaHQiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5LcmFmdHN0b2Zmc3RhbmQgTGl0ZXIiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiS3JhZnRzdG9mZnN0YW5kIExpdGVyIiwicm9sZSI6ICIiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsIm1pbiI6IDAsIm1heCI6IDUwMCwiZGVmIjogMCwidW5pdCI6ICJsIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MYWRlenVzdGFuZCBrbSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJMYWRlenVzdGFuZCBrbSIsInJvbGUiOiAiIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJtaW4iOiAwLCJtYXgiOiA1MDAsImRlZiI6IDAsInVuaXQiOiAia20ifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLktvbWJpbmllcnRlIFJlaWNod2VpdGUiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiS29tYmluaWVydGUgUmVpY2h3ZWl0ZSIsInJvbGUiOiAiIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJtaW4iOiAwLCJtYXgiOiA1MDAsImRlZiI6IDAsInVuaXQiOiAia20ifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLktyYWZ0c3RvZmZzdGFuZCAlIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIktyYWZ0c3RvZmZzdGFuZCAlIiwicm9sZSI6ICIiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsIm1pbiI6IDAsIm1heCI6IDEwMCwiZGVmIjogMCwidW5pdCI6ICIlIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MYWRlenVzdGFuZCAlIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkxhZGV6dXN0YW5kICUiLCJyb2xlIjogIiIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwibWluIjogMCwibWF4IjogMTAwLCJkZWYiOiAwLCJ1bml0IjogIiUifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlZlcmJpbmR1bmdzc3RhdHVzIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlZlcmJpbmR1bmdzc3RhdHVzIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGFkZXN0YXR1cyIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJMYWRlc3RhdHVzIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuVmVyYmxlaWJlbmRlIExhZGV6ZWl0IiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlZlcmJsZWliZW5kZSBMYWRlemVpdCIsInJvbGUiOiAiIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJtaW4iOiAwLCJtYXgiOiAxMDAwLCJkZWYiOiAwLCJ1bml0IjogIm1pbiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGFuZG9ydC5CcmVpdGVuZ3JhZCIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJTdGFuZG9ydCBCcmVpdGVuZ3JhZCIsInJvbGUiOiAiIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJtaW4iOiAtMTAwMDAsIm1heCI6IDEwMDAwLCJkZWYiOiAwLCJ1bml0IjogIsKwIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YW5kb3J0LkzDpG5nZW5ncmFkIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlN0YW5kb3J0IEzDpG5nZW5ncmFkIiwicm9sZSI6ICIiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsIm1pbiI6IC0xMDAwMCwibWF4IjogMTAwMDAsImRlZiI6IDAsInVuaXQiOiAiwrAifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhbmRvcnQuUmljaHR1bmciLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiU3RhbmRvcnQgUmljaHR1bmciLCJyb2xlIjogIiIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwibWluIjogLTEwMDAwLCJtYXgiOiAxMDAwMCwiZGVmIjogMCwidW5pdCI6ICLCsCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGFuZG9ydC5TdGF0dXMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiU3RhbmRvcnQgU3RhdHVzIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGV0enRlciBMYWRldm9yZ2FuZyBCZWVuZGlndW5nc2dydW5kIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkxldHp0ZXIgTGFkZXZvcmdhbmcgQmVlbmRpZ3VuZ3NncnVuZCIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkxldHp0ZXIgTGFkZXZvcmdhbmcgRXJnZWJuaXMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiTGV0enRlciBMYWRldm9yZ2FuZyBFcmdlYm5pcyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkVpbm1hbGlnZSBTb2ZvcnRsYWR1bmciLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWlubWFsaWdlIFNvZm9ydGxhZHVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogImJvb2xlYW4iLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiZmFsc2UifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkxhZGV2ZXJiaW5kdW5nIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkxhZGV2ZXJiaW5kdW5nIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuUG9zaXRpb25pZXJ1bmcgSW5kdWt0aW9uc2xhZHVuZyIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJQb3NpdGlvbmllcnVuZyBJbmR1a3Rpb25zbGFkdW5nIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQ2hlY2sgQ29udHJvbCBNZWxkdW5nIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkNoZWNrIENvbnRyb2wgTWVsZHVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkNhYnJpb2RhY2giLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiQ2FicmlvZGFjaCIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhbmRvcnQuR29vZ2xlIE1hcHMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiU3RhbmRvcnQgR29vZ2xlIE1hcHMiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIAo=</field>
                              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                            </block>
                            <block type="procedures_defcustomnoreturn" id="Tqmj%!gc`F8vk2zl7MW_" x="-38" y="-1088">
                              <mutation statements="false"></mutation>
                              <field name="NAME">Fahrzeugdaten abfragen</field>
                              <field name="SCRIPT">dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKdmFyIHJlcXVlc3QgPSByZXF1aXJlKCJyZXF1ZXN0Iik7Cgp2YXIgb3B0aW9ucyA9IHsKICB1cmw6ICdodHRwczovL2IydmFwaS5ibXdncm91cC5jb20vd2ViYXBpL3YxL3VzZXIvdmVoaWNsZXMvJywKICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfSwKICBhdXRoOiB7CiAgICBiZWFyZXI6IChnZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Ub2tlbiIpLnZhbCl9Cn07CgpmdW5jdGlvbiBjYWxsYmFjayhlcnJvcixyZXNwb25zZSxib2R5KXsKCnZhciByZXN1bHQyID0gSlNPTi5wYXJzZShib2R5KS52ZWhpY2xlc1swXTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuRmFocnpldWcuRmFocmdlc3RlbGxudW1tZXIiLCAnJytyZXN1bHQyLnZpbiwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkZhaHJ6ZXVnLk1vZGVsIiwgJycrcmVzdWx0Mi5tb2RlbCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkZhaHJ6ZXVnLlR5cCIsICcnK3Jlc3VsdDIuYm9keXR5cGUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5GYWhyemV1Zy5BbnRyaWViIiwgJycrcmVzdWx0Mi5kcml2ZVRyYWluLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuRmFocnpldWcuRmFyYmUiLCAnJytyZXN1bHQyLmNvbG9yLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuRmFocnpldWcuRmFyYmNvZGUiLCAnJytyZXN1bHQyLmNvbG9yQ29kZSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkZhaHJ6ZXVnLkJhdWphaHIiLCBwYXJzZUZsb2F0KHJlc3VsdDIueWVhck9mQ29uc3RydWN0aW9uKSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkjDpG5kbGVyLk5hbWUiLCAnJytyZXN1bHQyLmRlYWxlci5uYW1lLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuSMOkbmRsZXIuU3RyYcOfZSIsICcnK3Jlc3VsdDIuZGVhbGVyLnN0cmVldCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkjDpG5kbGVyLlBMWiIsICcnK3Jlc3VsdDIuZGVhbGVyLnBvc3RhbENvZGUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Iw6RuZGxlci5PcnQiLCAnJytyZXN1bHQyLmRlYWxlci5jaXR5LCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuSMOkbmRsZXIuTGFuZCIsICcnK3Jlc3VsdDIuZGVhbGVyLmNvdW50cnksIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Iw6RuZGxlci5UZWxlZm9uIiwgJycrcmVzdWx0Mi5kZWFsZXIucGhvbmUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5GYWhyemV1Zy5BbGFybWFubGFnZSB2b3JoYW5kZW4iLCByZXN1bHQyLmhhc0FsYXJtU3lzdGVtLCB0cnVlKTsKLy9jb25zb2xlLmxvZyhyZXN1bHQyLnZpbikKCn07CnJlcXVlc3QuZ2V0KG9wdGlvbnMsIGNhbGxiYWNrKTsK</field>
                              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                            </block>
                            <block type="procedures_defcustomnoreturn" id="e6N=.RUD+21]!8uv9.EJ" x="-38" y="-1063">
                              <mutation statements="false"></mutation>
                              <field name="NAME">Status Abfragen</field>
                              <field name="SCRIPT">dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKdmFyIHJlcXVlc3QgPSByZXF1aXJlKCJyZXF1ZXN0Iik7Cgp2YXIgb3B0aW9ucyA9IHsKICB1cmw6ICdodHRwczovL2IydmFwaS5ibXdncm91cC5jb20vd2ViYXBpL3YxL3VzZXIvdmVoaWNsZXMvJysoZ2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuRmFocnpldWcuRmFocmdlc3RlbGxudW1tZXIiKS52YWwpKycvc3RhdHVzJywKICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfSwKICBhdXRoOiB7CiAgICBiZWFyZXI6IChnZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Ub2tlbiIpLnZhbCl9Cn07CgpmdW5jdGlvbiBjYWxsYmFjayhlcnJvcixyZXNwb25zZSxib2R5KXsKdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UoYm9keSkudmVoaWNsZVN0YXR1czsKaWYgKHJlc3VsdC5kb29yRHJpdmVyRnJvbnQgPT0gJ0NMT1NFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuRmFocmVydMO8ciB2b3JuZSIsICdHZXNjaGxvc3NlbicsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5kb29yRHJpdmVyRnJvbnQgPT0gJ09QRU4nKXsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcnTDvHIgdm9ybmUiLCAnT2ZmZW4nLCB0cnVlKTsKIH0gZWxzZSB7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5GYWhyZXJ0w7xyIHZvcm5lIiwgJycrIHJlc3VsdC5kb29yRHJpdmVyRnJvbnQsIHRydWUpOwp9OwppZiAocmVzdWx0LmRvb3JEcml2ZXJSZWFyID09ICdDTE9TRUQnKSB7CiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcnTDvHIgaGludGVuIiwgJ0dlc2NobG9zc2VuJywgdHJ1ZSk7Cn0gZWxzZSBpZiAocmVzdWx0LmRvb3JEcml2ZXJSZWFyID09ICdPUEVOJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5GYWhyZXJ0w7xyIGhpbnRlbiIsICdPZmZlbicsIHRydWUpOwogfSBlbHNlIHsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcnTDvHIgaGludGVuIiwgJycrIHJlc3VsdC5kb29yRHJpdmVyUmVhciwgdHJ1ZSk7Cn07CmlmIChyZXN1bHQuZG9vclBhc3NlbmdlckZyb250ID09ICdDTE9TRUQnKSB7CiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkJlaWZhaHJlcnTDvHIgdm9ybmUiLCAnR2VzY2hsb3NzZW4nLCB0cnVlKTsKfSBlbHNlIGlmIChyZXN1bHQuZG9vclBhc3NlbmdlckZyb250ID09ICdPUEVOJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJ0w7xyIHZvcm5lIiwgJ09mZmVuJywgdHJ1ZSk7Cn0gIGVsc2UgeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQmVpZmFocmVydMO8ciB2b3JuZSIsICcnKyByZXN1bHQuZG9vclBhc3NlbmdlckZyb250LCB0cnVlKTsKfTsKaWYgKHJlc3VsdC5kb29yUGFzc2VuZ2VyUmVhciA9PSAnQ0xPU0VEJykgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJ0w7xyIGhpbnRlbiIsICdHZXNjaGxvc3NlbicsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5kb29yUGFzc2VuZ2VyUmVhciA9PSAnT1BFTicpeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQmVpZmFocmVydMO8ciBoaW50ZW4iLCAnT2ZmZW4nLCB0cnVlKTsKfSAgZWxzZSB7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJ0w7xyIGhpbnRlbiIsICcnKyByZXN1bHQuZG9vclBhc3NlbmdlclJlYXIsIHRydWUpOwp9OwppZiAocmVzdWx0LndpbmRvd0RyaXZlckZyb250ID09ICdDTE9TRUQnKSB7CiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcmZlbnN0ZXIgdm9ybmUiLCAnR2VzY2hsb3NzZW4nLCB0cnVlKTsKfSBlbHNlIGlmIChyZXN1bHQud2luZG93RHJpdmVyRnJvbnQgPT0gJ09QRU4nKXsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcmZlbnN0ZXIgdm9ybmUiLCAnT2ZmZW4nLCB0cnVlKTsKIH0gZWxzZSB7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5GYWhyZXJmZW5zdGVyIHZvcm5lIiwgJycrIHJlc3VsdC53aW5kb3dEcml2ZXJGcm9udCwgdHJ1ZSk7Cn07CmlmIChyZXN1bHQud2luZG93RHJpdmVyUmVhciA9PSAnQ0xPU0VEJykgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5GYWhyZXJmZW5zdGVyIGhpbnRlbiIsICdHZXNjaGxvc3NlbicsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC53aW5kb3dEcml2ZXJSZWFyID09ICdPUEVOJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5GYWhyZXJmZW5zdGVyIGhpbnRlbiIsICdPZmZlbicsIHRydWUpOwp9ICBlbHNlIHsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcmZlbnN0ZXIgaGludGVuIiwgJycrIHJlc3VsdC53aW5kb3dEcml2ZXJSZWFyLCB0cnVlKTsKfTsKaWYgKHJlc3VsdC53aW5kb3dQYXNzZW5nZXJGcm9udCA9PSAnQ0xPU0VEJykgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJmZW5zdGVyIHZvcm5lIiwgJ0dlc2NobG9zc2VuJywgdHJ1ZSk7Cn0gZWxzZSBpZiAocmVzdWx0LndpbmRvd1Bhc3NlbmdlckZyb250ID09ICdPUEVOJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJmZW5zdGVyIHZvcm5lIiwgJ09mZmVuJywgdHJ1ZSk7CiB9IGVsc2UgeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQmVpZmFocmVyZmVuc3RlciB2b3JuZSIsICcnKyByZXN1bHQud2luZG93UGFzc2VuZ2VyRnJvbnQsIHRydWUpOwp9OwppZiAocmVzdWx0LndpbmRvd1Bhc3NlbmdlclJlYXIgPT0gJ0NMT1NFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQmVpZmFocmVyZmVuc3RlciBoaW50ZW4iLCAnR2VzY2hsb3NzZW4nLCB0cnVlKTsKfSBlbHNlIGlmIChyZXN1bHQud2luZG93UGFzc2VuZ2VyUmVhciA9PSAnT1BFTicpeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQmVpZmFocmVyZmVuc3RlciBoaW50ZW4iLCAnT2ZmZW4nLCB0cnVlKTsKfSAgZWxzZSB7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJmZW5zdGVyIGhpbnRlbiIsICcnKyByZXN1bHQud2luZG93UGFzc2VuZ2VyUmVhciwgdHJ1ZSk7Cn07CmlmIChyZXN1bHQudHJ1bmsgPT0gJ0NMT1NFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuS29mZmVycmF1bSIsICdHZXNjaGxvc3NlbicsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC50cnVuayA9PSAnT1BFTicpeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuS29mZmVycmF1bSIsICdPZmZlbicsIHRydWUpOwogfSBlbHNlIHsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLktvZmZlcnJhdW0iLCAnJysgcmVzdWx0LnRydW5rLCB0cnVlKTsKfTsKaWYgKHJlc3VsdC5yZWFyV2luZG93ID09ICdDTE9TRUQnKSB7CiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkhlY2tmZW5zdGVyIiwgJ0dlc2NobG9zc2VuJywgdHJ1ZSk7Cn0gZWxzZSBpZiAocmVzdWx0LnJlYXJXaW5kb3cgPT0gJ09QRU4nKXsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkhlY2tmZW5zdGVyIiwgJ09mZmVuJywgdHJ1ZSk7Cn0gZWxzZSB7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5IZWNrZmVuc3RlciIsICdOaWNodCB2b3JoYW5kZW4nLCB0cnVlKTsKfTsKaWYgKHJlc3VsdC5jb252ZXJ0aWJsZVJvb2ZTdGF0ZSA9PSAnQ0xPU0VEU0VDVVJFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQ2FicmlvZGFjaCIsICdHZXNjaGxvc3NlbicsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5jb252ZXJ0aWJsZVJvb2ZTdGF0ZSA9PSAnT1BFTicpeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQ2FicmlvZGFjaCIsICdPZmZlbicsIHRydWUpOwp9IGVsc2UgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5DYWJyaW9kYWNoIiwgJ05pY2h0IHZvcmhhbmRlbicsIHRydWUpOwp9OwppZiAocmVzdWx0Lmhvb2QgPT0gJ0NMT1NFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTW90b3JoYXViZSIsICdHZXNjaGxvc3NlbicsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5ob29kID09ICdPUEVOJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5Nb3RvcmhhdWJlIiwgJ09mZmVuJywgdHJ1ZSk7Cn0gIGVsc2UgeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTW90b3JoYXViZSIsICcnKyByZXN1bHQuaG9vZCwgdHJ1ZSk7Cn07CmlmIChyZXN1bHQuZG9vckxvY2tTdGF0ZSA9PSAnU0VDVVJFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuVMO8cnZlcnJpZWdlbHVuZyIsICdHZXNpY2hlcnQnLCB0cnVlKTsKfSBlbHNlIGlmIChyZXN1bHQuZG9vckxvY2tTdGF0ZSA9PSAnTE9DS0VEJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5Uw7xydmVycmllZ2VsdW5nIiwgJ1ZlcnJpZWdlbHQnLCB0cnVlKTsKfSAgZWxzZSBpZiAocmVzdWx0LmRvb3JMb2NrU3RhdGUgPT0gJ1VOTE9DS0VEJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5Uw7xydmVycmllZ2VsdW5nIiwgJ0VudHJpZWdlbHQnLCB0cnVlKTsKfSAgZWxzZSBpZiAocmVzdWx0LmRvb3JMb2NrU3RhdGUgPT0gJ1NFTEVDVElWRV9MT0NLRUQnKXsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlTDvHJ2ZXJyaWVnZWx1bmciLCAnRW50cmllZ2VsdCcsIHRydWUpOwp9IGVsc2UgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5Uw7xydmVycmllZ2VsdW5nIiwgJycrIHJlc3VsdC5kb29yTG9ja1N0YXRlLCB0cnVlKTsKfTsKaWYgKHJlc3VsdC5wYXJraW5nTGlnaHQgPT0gJ09GRicpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuUGFya2xldWNodGVuIiwgJ0F1cycsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5wYXJraW5nTGlnaHQgPT0gJ09OJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5QYXJrbGV1Y2h0ZW4iLCAnQW4nLCB0cnVlKTsKfSAgZWxzZSB7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5QYXJrbGV1Y2h0ZW4iLCAnJysgcmVzdWx0LnBhcmtpbmdMaWdodCwgdHJ1ZSk7Cn07CmlmIChyZXN1bHQucG9zaXRpb25MaWdodCA9PSAnT0ZGJykgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5TdGFuZGxpY2h0IiwgJ0F1cycsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5wb3NpdGlvbkxpZ2h0ID09ICdPTicpeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuU3RhbmRsaWNodCIsICdBbicsIHRydWUpOwp9ICBlbHNlIHsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlN0YW5kbGljaHQiLCAnJysgcmVzdWx0LnBvc2l0aW9uTGlnaHQsIHRydWUpOwp9OwppZiAocmVzdWx0Lmxhc3RDaGFyZ2luZ0VuZFJlYXNvbiA9PSAnQ0hBUkdJTkdfR09BTF9SRUFDSEVEJykgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MZXR6dGVyIExhZGV2b3JnYW5nIEJlZW5kaWd1bmdzZ3J1bmQiLCAnTGFkZXppZWwgZXJyZWljaHQnLCB0cnVlKTsKfSBlbHNlIGlmIChyZXN1bHQubGFzdENoYXJnaW5nRW5kUmVhc29uID09ICdFTkRfUkVRVUVTVEVEX0JZX0RSSVZFUicpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGV0enRlciBMYWRldm9yZ2FuZyBCZWVuZGlndW5nc2dydW5kIiwgJ0R1cmNoIEZhaHJlciBiZWVuZGV0JywgdHJ1ZSk7Cn0gZWxzZSBpZiAocmVzdWx0Lmxhc3RDaGFyZ2luZ0VuZFJlYXNvbiA9PSAnVU5LTk9XTicpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGV0enRlciBMYWRldm9yZ2FuZyBCZWVuZGlndW5nc2dydW5kIiwgJ1VuYmVrYW5udCcsIHRydWUpOwp9ICBlbHNlIHsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkxldHp0ZXIgTGFkZXZvcmdhbmcgQmVlbmRpZ3VuZ3NncnVuZCIsICcnK3Jlc3VsdC5sYXN0Q2hhcmdpbmdFbmRSZWFzb24sIHRydWUpOwp9OwppZiAocmVzdWx0Lmxhc3RDaGFyZ2luZ0VuZFJlc3VsdCA9PSAnU1VDQ0VTUycpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGV0enRlciBMYWRldm9yZ2FuZyBFcmdlYm5pcyIsICdFcmZvbGdyZWljaCcsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5sYXN0Q2hhcmdpbmdFbmRSZXN1bHQgPT0gJ1VOS05PV04nKSB7CiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkxldHp0ZXIgTGFkZXZvcmdhbmcgRXJnZWJuaXMiLCAnVW5iZWthbm50JywgdHJ1ZSk7Cn0gIGVsc2UgeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGV0enRlciBMYWRldm9yZ2FuZyBFcmdlYm5pcyIsICcnK3Jlc3VsdC5sYXN0Q2hhcmdpbmdFbmRSZXN1bHQsIHRydWUpOwp9OwppZiAocmVzdWx0LmNoYXJnaW5nVGltZVJlbWFpbmluZyA9PSBudWxsKSB7CiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlZlcmJsZWliZW5kZSBMYWRlemVpdCIsIDAsIHRydWUpOwp9ICBlbHNlIHsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlZlcmJsZWliZW5kZSBMYWRlemVpdCIsIHBhcnNlRmxvYXQocmVzdWx0LmNoYXJnaW5nVGltZVJlbWFpbmluZyksIHRydWUpOwp9OwppZiAocmVzdWx0LmNvbm5lY3Rpb25TdGF0dXMgPT0gJ0RJU0NPTk5FQ1RFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuVmVyYmluZHVuZ3NzdGF0dXMiLCAnTmljaHQgdmVyYnVuZGVuJywgdHJ1ZSk7Cn0gZWxzZSBpZiAocmVzdWx0LmNvbm5lY3Rpb25TdGF0dXMgPT0gJ0NPTk5FQ1RFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuVmVyYmluZHVuZ3NzdGF0dXMiLCAnVmVyYnVuZGVuJywgdHJ1ZSk7Cn0gZWxzZSB7CiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlZlcmJpbmR1bmdzc3RhdHVzIiwgJycrcmVzdWx0LmNvbm5lY3Rpb25TdGF0dXMsIHRydWUpOwp9OwppZiAocmVzdWx0LmNoYXJnaW5nSW5kdWN0aXZlUG9zaXRpb25pbmcgPT0gJ05PVF9QT1NJVElPTkVEJykgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5Qb3NpdGlvbmllcnVuZyBJbmR1a3Rpb25zbGFkdW5nIiwgJ05pY2h0IHBvc2l0aW9uaWVydCcsIHRydWUpOwp9IGVsc2UgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5Qb3NpdGlvbmllcnVuZyBJbmR1a3Rpb25zbGFkdW5nIiwgJycrcmVzdWx0LmNoYXJnaW5nSW5kdWN0aXZlUG9zaXRpb25pbmcsIHRydWUpOwp9OwppZiAocmVzdWx0LmNoYXJnaW5nU3RhdHVzID09ICdDSEFSR0lORycpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGFkZXN0YXR1cyIsICdMYWRlbiBha3RpdicsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5jaGFyZ2luZ1N0YXR1cyA9PSAnRVJST1InKXsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkxhZGVzdGF0dXMiLCAnRmVobGVyJywgdHJ1ZSk7Cn0gIGVsc2UgaWYgKHJlc3VsdC5jaGFyZ2luZ1N0YXR1cyA9PSAnRklOSVNIRURfRlVMTFlfQ0hBUkdFRCcpeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGFkZXN0YXR1cyIsICdWb2xsc3TDpG5kaWcgZ2VsYWRlbicsIHRydWUpOwp9ICBlbHNlIGlmIChyZXN1bHQuY2hhcmdpbmdTdGF0dXMgPT0gJ0ZJTklTSEVEX05PVF9GVUxMJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MYWRlc3RhdHVzIiwgJ1Vudm9sbHN0w6RuZGlnIGdlbGFkZW4nLCB0cnVlKTsKfSAgZWxzZSBpZiAocmVzdWx0LmNoYXJnaW5nU3RhdHVzID09ICdJTlZBTElEJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MYWRlc3RhdHVzIiwgJ1VuZ8O8bHRpZycsIHRydWUpOwp9ICBlbHNlIGlmIChyZXN1bHQuY2hhcmdpbmdTdGF0dXMgPT0gJ05PVF9DSEFSR0lORycpeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGFkZXN0YXR1cyIsICdMYWRlbiBpbmFrdGl2JywgdHJ1ZSk7Cn0gIGVsc2UgaWYgKHJlc3VsdC5jaGFyZ2luZ1N0YXR1cyA9PSAnV0FJVElOR19GT1JfQ0hBUkdJTkcnKXsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkxhZGVzdGF0dXMiLCAnV2FydGUgYXVmIExhZGVzdGFydCcsIHRydWUpOwp9IGVsc2UgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MYWRlc3RhdHVzIiwgJycrcmVzdWx0LmNoYXJnaW5nU3RhdHVzLCB0cnVlKTsKfTsKCgovL3NldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlNlcnZpY2ViZWRhcmYuSGF1cHR1bnRlcnN1Y2h1bmcuRGF0dW0iLCAnJytyZXN1bHQuY2JzRGF0YVsxXS5jYnNEdWVEYXRlLCB0cnVlKTsKLy9zZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TZXJ2aWNlYmVkYXJmLkhhdXB0dW50ZXJzdWNodW5nLlN0YXR1cyIsICcnK3Jlc3VsdC5jYnNEYXRhWzFdLmNic1N0YXRlLCB0cnVlKTsKLy9jYnNEYXRhIApzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TZXJ2aWNlYmVkYXJmLkZhaHJ6ZXVnY2hlY2suRGF0dW0iLCAnJytyZXN1bHQuY2JzRGF0YVsxXS5jYnNEdWVEYXRlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi5GYWhyemV1Z2NoZWNrLlN0YXR1cyIsICcnK3Jlc3VsdC5jYnNEYXRhWzFdLmNic1N0YXRlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi5GYWhyemV1Z2NoZWNrLlZlcmJsZWliZW5kZSBrbSIsIHBhcnNlRmxvYXQocmVzdWx0LmNic0RhdGFbMV0uY2JzUmVtYWluaW5nTWlsZWFnZSksIHRydWUpOwovL2Nic0RBVEEgMQpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TZXJ2aWNlYmVkYXJmLkJyZW1zZmzDvHNzaWdrZWl0LkRhdHVtIiwgJycrcmVzdWx0LmNic0RhdGFbMl0uY2JzRHVlRGF0ZSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlNlcnZpY2ViZWRhcmYuQnJlbXNmbMO8c3NpZ2tlaXQuU3RhdHVzIiwgJycrcmVzdWx0LmNic0RhdGFbMl0uY2JzU3RhdGUsIHRydWUpOwovL2NiZERBVEEgMApzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TZXJ2aWNlYmVkYXJmLsOWbHNlcnZpY2UuRGF0dW0iLCAnJytyZXN1bHQuY2JzRGF0YVswXS5jYnNEdWVEYXRlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi7DlmxzZXJ2aWNlLlN0YXR1cyIsICcnK3Jlc3VsdC5jYnNEYXRhWzBdLmNic1N0YXRlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi7DlmxzZXJ2aWNlLlZlcmJsZWliZW5kZSBrbSIsIHBhcnNlRmxvYXQocmVzdWx0LmNic0RhdGFbMF0uY2JzUmVtYWluaW5nTWlsZWFnZSksIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuS2lsb21ldGVyc3RhbmQiLCBwYXJzZUZsb2F0KHJlc3VsdC5taWxlYWdlKSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5LcmFmdHN0b2Zmc3RhbmQgTGl0ZXIiLCBwYXJzZUZsb2F0KHJlc3VsdC5yZW1haW5pbmdGdWVsKSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MYWRlenVzdGFuZCBrbSIsIHBhcnNlRmxvYXQocmVzdWx0LnJlbWFpbmluZ1JhbmdlRWxlY3RyaWMpLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLktvbWJpbmllcnRlIFJlaWNod2VpdGUiLCBwYXJzZUZsb2F0KHJlc3VsdC5yZW1haW5pbmdSYW5nZUZ1ZWwpLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLktyYWZ0c3RvZmZzdGFuZCAlIiwgcGFyc2VGbG9hdChyZXN1bHQuZnVlbFBlcmNlbnQpLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkxhZGV6dXN0YW5kICUiLCBwYXJzZUZsb2F0KHJlc3VsdC5jaGFyZ2luZ0xldmVsSHYpLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhbmRvcnQuQnJlaXRlbmdyYWQiLCBwYXJzZUZsb2F0KHJlc3VsdC5wb3NpdGlvbi5sYXQpLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhbmRvcnQuTMOkbmdlbmdyYWQiLCBwYXJzZUZsb2F0KHJlc3VsdC5wb3NpdGlvbi5sb24pLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhbmRvcnQuUmljaHR1bmciLCBwYXJzZUZsb2F0KHJlc3VsdC5wb3NpdGlvbi5oZWFkaW5nKSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YW5kb3J0LlN0YXR1cyIsICcnK3Jlc3VsdC5wb3NpdGlvbi5zdGF0dXMsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGFuZG9ydC5Hb29nbGUgTWFwcyIsICdodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZGlyL2hvbWUvJysoZ2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhbmRvcnQuQnJlaXRlbmdyYWQiKS52YWwpKycsJysoZ2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhbmRvcnQuTMOkbmdlbmdyYWQiKS52YWwpKycvQD9obD1kZScsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuRWlubWFsaWdlIFNvZm9ydGxhZHVuZyIsIHJlc3VsdC5zaW5nbGVJbW1lZGlhdGVDaGFyZ2luZywgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MYWRldmVyYmluZHVuZyIsICcnK3Jlc3VsdC5jaGFyZ2luZ0Nvbm5lY3Rpb25UeXBlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkNoZWNrIENvbnRyb2wgTWVsZHVuZyIsICcnK3Jlc3VsdC5jaGVja0NvbnRyb2xNZXNzYWdlc1swXSwgdHJ1ZSk7CgovL2NvbnNvbGUubG9nKHJlc3VsdC5kb29yTG9ja1N0YXRlKTsKCn07CnJlcXVlc3QuZ2V0KG9wdGlvbnMsIGNhbGxiYWNrKTsK</field>
                              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                            </block>
                            <block type="procedures_defcustomnoreturn" id="C|Hc:`b-c/c[Tgs1y:IM" x="-38" y="-1037">
                              <mutation statements="false">
                                <arg name="Befehl" varid="Ryywje#7IoGUwl?[YLYR"></arg>
                              </mutation>
                              <field name="NAME">Befehl</field>
                              <field name="SCRIPT">dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKdmFyIHJlcXVlc3QgPSByZXF1aXJlKCJyZXF1ZXN0Iik7CnZhciBkZXRhaWxzID0gewogICAgJ3NlcnZpY2VUeXBlJzogQmVmZWhsLAogICAgJ2Jtd1NrQW5zd2VyJzogU2ljaGVyaGVpdHNhbnR3b3J0Cn07CiAKdmFyIGZvcm1Cb2R5ID0gW107CmZvciAodmFyIHByb3BlcnR5IGluIGRldGFpbHMpIHsKICB2YXIgZW5jb2RlZEtleSA9IGVuY29kZVVSSUNvbXBvbmVudChwcm9wZXJ0eSk7CiAgdmFyIGVuY29kZWRWYWx1ZSA9IGVuY29kZVVSSUNvbXBvbmVudChkZXRhaWxzW3Byb3BlcnR5XSk7CiAgZm9ybUJvZHkucHVzaChlbmNvZGVkS2V5ICsgIj0iICsgZW5jb2RlZFZhbHVlKTsKfQpmb3JtQm9keSA9IGZvcm1Cb2R5LmpvaW4oIiYiKTsKCgogdmFyIG9wdGlvbnMgPSB7CiAgdXJsOiAnaHR0cHM6Ly9iMnZhcGkuYm13Z3JvdXAuY29tL3dlYmFwaS92MS91c2VyL3ZlaGljbGVzLycrKGdldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkZhaHJ6ZXVnLkZhaHJnZXN0ZWxsbnVtbWVyIikudmFsKSsnL2V4ZWN1dGVTZXJ2aWNlJywKICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfSwKICBhdXRoOiB7CiAgICBiZWFyZXI6IChnZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Ub2tlbiIpLnZhbCl9LAogIGJvZHk6IGZvcm1Cb2R5Cn07CgpmdW5jdGlvbiBjYWxsYmFjayhlcnJvciwgcmVzcG9uc2UsIGJvZHkpIHsKdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UoYm9keSk7CmNvbnNvbGUubG9nKHJlc3VsdCkKfQoKCnJlcXVlc3QucG9zdChvcHRpb25zLCBjYWxsYmFjayk7</field>
                              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                            </block>
                            <block type="procedures_defcustomnoreturn" id="qLVD,Ua~|Xo7$C,E2/2R" x="-38" y="-1012">
                              <mutation statements="false"></mutation>
                              <field name="NAME">Token abfragen</field>
                              <field name="SCRIPT">dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKdmFyIHJlcXVlc3QgPSByZXF1aXJlKCJyZXF1ZXN0Iik7CnZhciBkZXRhaWxzID0gewogICAgJ3VzZXJuYW1lJzogQmVudXR6ZXJuYW1lLAogICAgJ3Bhc3N3b3JkJzogUGFzc3dvcnQsCiAgICAnZ3JhbnRfdHlwZSc6ICdwYXNzd29yZCcsCiAgICAnc2NvcGUnOidhdXRoZW50aWNhdGVfdXNlciB2ZWhpY2xlX2RhdGEgcmVtb3RlX3NlcnZpY2VzJwp9OwogCnZhciBmb3JtQm9keSA9IFtdOwpmb3IgKHZhciBwcm9wZXJ0eSBpbiBkZXRhaWxzKSB7CiAgdmFyIGVuY29kZWRLZXkgPSBlbmNvZGVVUklDb21wb25lbnQocHJvcGVydHkpOwogIHZhciBlbmNvZGVkVmFsdWUgPSBlbmNvZGVVUklDb21wb25lbnQoZGV0YWlsc1twcm9wZXJ0eV0pOwogIGZvcm1Cb2R5LnB1c2goZW5jb2RlZEtleSArICI9IiArIGVuY29kZWRWYWx1ZSk7Cn0KZm9ybUJvZHkgPSBmb3JtQm9keS5qb2luKCImIik7CgoKIHZhciBvcHRpb25zID0gewogIHVybDogJ2h0dHBzOi8vYjJ2YXBpLmJtd2dyb3VwLmNvbS9nY2RtL29hdXRoL3Rva2VuJywKICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnLCAnQXV0aG9yaXphdGlvbic6ICdCYXNpYyBaRGMyTm1JMU16Y3RZVFkxTkMwMFkySmtMV0V6WkdNdE1HTmhOVFkzTW1RM1pqaGtPakUxWmpZNU4yWTJMV0UxWkRVdE5HTmhaQzA1T1dRNUxUTmhNVFZpWXpkbU16azNNdz09JywgJ0NyZWRlbnRpYWxzJzogJ25RdjZDcXR4SnVYV1A3NHhmM0NKd1VFUDoxekRIeDZ1bjRjRGp5YkxFTk4za3lmdW1YMmtFWWlnV1BjUXBkdkRScElCazdyT0onfSwKICBib2R5OiBmb3JtQm9keQp9OwogCmZ1bmN0aW9uIGNhbGxiYWNrKGVycm9yLCByZXNwb25zZSwgYm9keSkgewp2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShib2R5KTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuVG9rZW4iLypUb2tlbiovLCAoJycgKyByZXN1bHQuYWNjZXNzX3Rva2VuKSk7CmNvbnNvbGUubG9nKHJlc3VsdCkKfQogIApyZXF1ZXN0LnBvc3Qob3B0aW9ucywgY2FsbGJhY2spOw==</field>
                              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                            </block>
                          </xml>
                          

                          Gruß Rookie

                          Bernd 0B Offline
                          Bernd 0B Offline
                          Bernd 0
                          wrote on last edited by
                          #292

                          @rookie50 Hi zusammen, ich danke euch für das Script. Ich nutzte es, um die Daten unseres Minis auszulesen. Hierzu ist das Script von Rookie50 im Einsatz. Das funktioniert auch soweit gut. Einzig die Restreichweite ist bei vollem Tank immer bei 500km. Erst wenn der Tankinhalt unter eine Reichweite von 500km fällt, wird mir der richtige Wert angezeigt. Hat jemand das gleiche Problem und gibt es vielleicht einen fix hierfür?
                          Vielen Dank & Grüße, Bernd

                          H 1 Reply Last reply
                          0
                          • Bernd 0B Bernd 0

                            @rookie50 Hi zusammen, ich danke euch für das Script. Ich nutzte es, um die Daten unseres Minis auszulesen. Hierzu ist das Script von Rookie50 im Einsatz. Das funktioniert auch soweit gut. Einzig die Restreichweite ist bei vollem Tank immer bei 500km. Erst wenn der Tankinhalt unter eine Reichweite von 500km fällt, wird mir der richtige Wert angezeigt. Hat jemand das gleiche Problem und gibt es vielleicht einen fix hierfür?
                            Vielen Dank & Grüße, Bernd

                            H Offline
                            H Offline
                            HoTi
                            wrote on last edited by HoTi
                            #293

                            @bernd-0 sagte in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:

                            @rookie50 Hi zusammen, ich danke euch für das Script. Ich nutzte es, um die Daten unseres Minis auszulesen. Hierzu ist das Script von Rookie50 im Einsatz. Das funktioniert auch soweit gut. Einzig die Restreichweite ist bei vollem Tank immer bei 500km. Erst wenn der Tankinhalt unter eine Reichweite von 500km fällt, wird mir der richtige Wert angezeigt. Hat jemand das gleiche Problem und gibt es vielleicht einen fix hierfür?
                            Vielen Dank & Grüße, Bernd

                            edit
                            Sorry lesen Bildet… Bernd schreibt nicht in der Mehrzahl… :-( schade.


                            Fragt jemand von euch mehr als 1 Auto ab? Kann mir jemand sagen wie das geht?

                            1 Reply Last reply
                            0
                            • T Offline
                              T Offline
                              tombox
                              wrote on last edited by tombox
                              #294

                              @strobelix @lobomau @bahnuhr Macht es sinn ein neuen aktuellen BMW Adapter zu schreiben oder passt der Zustand für alle Fahrzeugtypen von den Datenpunkten und remote Befehlen her?

                              T 1 Reply Last reply
                              1
                              • T tombox

                                @strobelix @lobomau @bahnuhr Macht es sinn ein neuen aktuellen BMW Adapter zu schreiben oder passt der Zustand für alle Fahrzeugtypen von den Datenpunkten und remote Befehlen her?

                                T Offline
                                T Offline
                                tombox
                                wrote on last edited by
                                #295

                                Wenn Interesse besteht dann benötige ich Zugangsdaten für die App und könnte schnell ein neuen Adapter erstellen.

                                lobomauL 1 Reply Last reply
                                0
                                • T tombox

                                  Wenn Interesse besteht dann benötige ich Zugangsdaten für die App und könnte schnell ein neuen Adapter erstellen.

                                  lobomauL Offline
                                  lobomauL Offline
                                  lobomau
                                  wrote on last edited by lobomau
                                  #296

                                  @tombox ich habe keine Ahnung was dann anders/besser wird? Ich rufe die Daten eines BMW i3 ab.
                                  Das einzige was mir nicht so gefällt ist die Abfrage nur alle 5min. Aber kann der Adapter da was für? Die API darf wahrscheinlich nicht häufiger abgefragt werden?

                                  Host: NUC8i3 mit Proxmox:

                                  • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
                                  • Slave: Pi4
                                  T 1 Reply Last reply
                                  0
                                  • lobomauL lobomau

                                    @tombox ich habe keine Ahnung was dann anders/besser wird? Ich rufe die Daten eines BMW i3 ab.
                                    Das einzige was mir nicht so gefällt ist die Abfrage nur alle 5min. Aber kann der Adapter da was für? Die API darf wahrscheinlich nicht häufiger abgefragt werden?

                                    T Offline
                                    T Offline
                                    tombox
                                    wrote on last edited by
                                    #297

                                    @lobomau Der Vorteil ist das es stabiler ist und ja man könnte den Abfrageintervall dynamisch wählen Ich denk die BMW Api hält das öfter als 5min aus

                                    lobomauL 1 Reply Last reply
                                    0
                                    • T tombox

                                      @lobomau Der Vorteil ist das es stabiler ist und ja man könnte den Abfrageintervall dynamisch wählen Ich denk die BMW Api hält das öfter als 5min aus

                                      lobomauL Offline
                                      lobomauL Offline
                                      lobomau
                                      wrote on last edited by
                                      #298

                                      @tombox Na dann freue ich mich natürlich über eine Neuauflage :-)

                                      Host: NUC8i3 mit Proxmox:

                                      • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
                                      • Slave: Pi4
                                      1 Reply Last reply
                                      0
                                      • L Offline
                                        L Offline
                                        lessthanmore
                                        wrote on last edited by lessthanmore
                                        #299

                                        @strobelix Hi, ich bekomme folgende Meldungen nach "Installation" des Skripts:

                                        	2021-08-02 16:55:00.512	error	Error in request callback: TypeError: Cannot read property 'name' of undefined
                                        
                                        javascript.0
                                        2021-08-02 16:53:55.362	error	Error in request callback: TypeError: Cannot read property 'name' of undefined
                                        
                                        javascript.0
                                        2021-08-02 16:53:51.961	info	State value to set for "0_userdata.0.BMW.Status.Einmalige Sofortladung" has to be type "boolean" but received type "string"
                                        
                                        javascript.0
                                        2021-08-02 16:53:51.960	info	State value to set for "0_userdata.0.BMW.Fahrzeug.Alarmanlage vorhanden" has to be type "boolean" but received type "string"
                                        
                                        javascript.0
                                        2021-08-02 16:53:51.954	info	State value to set for "0_userdata.0.BMW.Status.Einmalige Sofortladung" has to be type "boolean" but received type "string"
                                        
                                        javascript.0
                                        2021-08-02 16:53:51.954	info	State value to set for "0_userdata.0.BMW.Fahrzeug.Alarmanlage vorhanden" has to be type "boolean" but received type "string"
                                        

                                        In den Objekten sehe ich dass beim Fahrzeugcheck die verbleibenden KM nicht angezeigt werden.
                                        Weiterhin kommt bei den Check Control Meldungen "undefined".
                                        Kann das mit den Fehlermeldungen zusammenhängen? Wie finde ich raus, welche DP die Meldung werfen?

                                        Danke vorab.

                                        /edit: Nachdem ich die Check Control Messages wie auch die Händlerinfos auskommentiert habe, geht es bzw. es kommt keine Fehlermeldung mehr.

                                        1 Reply Last reply
                                        0
                                        • frankjokeF frankjoke

                                          Es ist mal wieder soweit!

                                          Momentan auf Git: https://github.com/frankjoke/iobroker.bmw

                                          Der Adapter versucht die ConnectedDrive-Daten für die auf die angegebenen Benutzer registrierten Fahrzeuge.

                                          Man kann filtern welche Daten angezeigt werden indem man im Admin die Einstellungen für

                                          • zu verwendete services (ich verwende nur: efficiency, dynamic, navigation)

                                          • zu löschende Einträge (Bei mir Daten wie: modelType, series, basicType, brand, licensePlate, hasNavi, bodyType, dcOnly, hasSunRoof, hasRex, steering, driveTrain, doorCount, vehicleTracking, isoCountryCode, auxPowerRegular, auxPowerEcoPro, auxPowerEcoProPlus, ccmMessages)

                                          • Einträge die von Arrays umgewandelt werden sollen (bei mir: lastTripList|name|lastTrip|unit, specs|key|value, service|name|services, cdpFeatures|name|status, cbsMessages|text|date, lifeTimeList|name|value, characteristicList|characteristic|quantity)

                                          • Einträge die in ihrer Hirarchie nach oben wandern sollen (bei mir attributesMap, vehicleMessages, cbsMessages, twoTimeTimer, characteristicList, lifeTimeList, lastTripList)

                                          • der zu verwendete Datenserver kann auch angegeben werden, der Default ist für den Rest der Welt, wer in anderen Regionen wohnt kann auch https://b2vapi.bmwgroup.cn:8592 für China, https://b2vapi.bmwgroup.us für USA und https://b2vapi.bmwgroup.com für Europe / Rest of World probieren. http://www.bmw-connecteddrive.com wird auf den letzten weitergeleitet.

                                          Wenn der Adapter die Position vom Navigationssystem auslesen kann übersetz er diese mit Hilfe von Google auf eine Adresse und gibt diese unter navigation.formatted_address an.

                                          Der Adapter fragt per Default alle mir bekannten Services ab (efficiency, dynamic, navigation, remoteservices/chargingprofile, servicepartner, service, specs), ich selbst verwende nur die ersten drei und mit den oben angegebenen Einstellungen werden bei meinem BMW-Modell (225xe ActiveTourer) werden ca 90 Datenpunkte erzeugt.

                                          Mein wagen ist ein Hybrid und ich habe den Adapter hauptsächlich geschrieben um den Ladezustand und die verfügbaren KM mit Benzin und Elektro.

                                          Da andere BMW's (oder Minis) verschiedene Daten ausgeben können bin ich
                                          1489_2017-09-02_140012.png

                                          1489_2017-09-02_141247.png
                                          Hoffe dass sich die Untermenge der ioBroker-Benutzer mit BMW und ConnectedDrive-Zugriff mit möglichem Feedback meldet!

                                          LG

                                          Frank

                                          T Offline
                                          T Offline
                                          tombox
                                          wrote on last edited by
                                          #300

                                          Ich habe mal ein neuen BMW Adapter geschrieben.

                                          Bitte Feedback im Thread geben
                                          https://forum.iobroker.net/topic/46720/test-adapter-bmw-v2-0-0

                                          S 1 Reply Last reply
                                          1
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          262

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe