Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Alias auf Shelly - unerwartete Änderung des Aliastyps

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Alias auf Shelly - unerwartete Änderung des Aliastyps

    This topic has been deleted. Only users with topic management privileges can see it.
    • apollon77
      apollon77 @ioMas last edited by

      @iomas ok ich verstehe es nicht nicht. wo genau ändert sich ein datentyp?

      Zeig bitte mal das generierte blockly JavaScript ( im blockly Editor Fenster oben das blockly/Js Icon klicken.

      I 1 Reply Last reply Reply Quote 0
      • I
        ioMas @apollon77 last edited by

        @apollon77 In der Debug Ausgabe in Zeile: 4/14 ist er booelan, in Zeile 25 ist er string

        anbei das JS:

        var LichtNachdetektionAnbleiben, schwellWertLicht, idLichtSchalter, LichtDurchBewegAn, lichtIstAn, verl_C3_A4ngerungLicht, initLichtAus;
        
        // Beschreibe diese Funktion …
        async function Licht_ausschalten() {
          console.debug('X: Licht ausschalten');
          LichtDurchBewegAn = false;
          setStateDelayed(idLichtSchalter, false, false, parseInt(((0) || "").toString(), 10), false);
        }
        
        
        LichtNachdetektionAnbleiben = 60000;
        schwellWertLicht = getState("0_userdata.0.Technik.EG.Kueche.EGKuecheFensterBeweg.BrigthnessSchwellwert").val;
        idLichtSchalter = 'alias.0.eg.Kueche.EGKuecheFensterLicht';
        LichtDurchBewegAn = false;
        on({id: "alias.0.eg.Kueche.EGKuecheFensterBeweg"/*EGKuecheFensterBeweg*/, change: "any", ack: true}, async function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          console.debug('0: Bewegung ');
          if ((obj.state ? obj.state.val : "")) {
            lichtIstAn = getState(idLichtSchalter).val;
            console.debug((['0.1: Hinweise: Typ:',typeof lichtIstAn,' Wert ist: ',lichtIstAn].join('')));
            if (true && typeof lichtIstAn != 'boolean') {
              console.debug((['0.5: Bugfix wrong type',typeof lichtIstAn,' Wert ist: ',lichtIstAn].join('')));
              if (lichtIstAn == 'on') {
                lichtIstAn = true;
                console.debug('0.5a: an');
              } else {
                lichtIstAn = false;
                console.debug('0.5b: aus');
              }
            }
            console.debug(('1: erkannt' + String(lichtIstAn)));
            if (lichtIstAn) {
              console.debug('2: Licht ist bereits an');
              if (LichtDurchBewegAn) {
                console.debug('3: verlängere Lichtdauer');
                (function () {if (initLichtAus) {clearTimeout(initLichtAus); initLichtAus = null;}})();
                (function () {if (verl_C3_A4ngerungLicht) {clearTimeout(verl_C3_A4ngerungLicht); verl_C3_A4ngerungLicht = null;}})();
                verl_C3_A4ngerungLicht = setTimeout(async function () {
                  await Licht_ausschalten();
                }, parseInt(LichtNachdetektionAnbleiben));
              } else {
                console.debug('3:nothing2do Licht nicht durch Algo gesetzt');
              }
            } else {
              console.debug('2: Licht ist aus');
              if (getState("alias.0.eg.Kueche.EGKuecheFensterBewegLux").val < schwellWertLicht) {
                console.debug('3: kleiner Schwellwert->Licht anschalten');
                LichtDurchBewegAn = true;
                setStateDelayed(idLichtSchalter, true, false, parseInt(((0) || "").toString(), 10), false);
                initLichtAus = setTimeout(async function () {
                  await Licht_ausschalten();
                }, parseInt(LichtNachdetektionAnbleiben));
              } else {
                console.debug('3: größer Schwellwert');
              }
            }
          } else {
            console.debug('1: nicht erkannt');
          }
        });
        
        //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyJTNBTiU1QmNJJTNGJTdEMiU3Qjh3ZHZmJTNGOGM0VyolMjIlM0VMaWNodE5hY2hkZXRla3Rpb25BbmJsZWliZW4lM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJofiU3RHQ5TUxMJTVEaXRfViU3Q1ZSWTNNJTI1JTIyJTNFc2Nod2VsbFdlcnRMaWNodCUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMiUyNEhyYk9FLnE5UTU3NCU3RCU2MGJRNEklMjUlMjIlM0VpZExpY2h0U2NoYWx0ZXIlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJOKSUyQioxfjNaU2xtKmR4ZmVoJTYwJTVCRSUyMiUzRUxpY2h0RHVyY2hCZXdlZ0FuJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMHR5cGUlM0QlMjJ0aW1lb3V0JTIyJTIwaWQlM0QlMjJ2ZXJsJUMzJUE0bmdlcnVuZ0xpY2h0JTIyJTNFdmVybCVDMyVBNG5nZXJ1bmdMaWNodCUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjB0eXBlJTNEJTIydGltZW91dCUyMiUyMGlkJTNEJTIyaW5pdExpY2h0QXVzJTIyJTNFaW5pdExpY2h0QXVzJTNDJTJGdmFyaWFibGUlM0UlM0MlMkZ2YXJpYWJsZXMlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjIqLSUzRkglNjBXbjRnRCU3RDBfKSk3WW9kRCUyMiUyMHglM0QlMjIxNjMlMjIlMjB5JTNEJTIyMTMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUzQU4lNUJjSSUzRiU3RDIlN0I4d2R2ZiUzRjhjNFcqJTIyJTNFTGljaHROYWNoZGV0ZWt0aW9uQW5ibGVpYmVuJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJwdTZVLkMlMjNXUmJQJTVEUDkoTXglNDAtSyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTYwMDAwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiUyQ2c2YX44dXIlMkZPbWElM0RkVkYzJTVEeCU1QiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyaH4lN0R0OU1MTCU1RGl0X1YlN0NWUlkzTSUyNSUyMiUzRXNjaHdlbGxXZXJ0TGljaHQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJ2aEN3Zy05bDNNb0NpVFZNJTdCZzQ4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLlRlY2huaWsuRUcuS3VlY2hlLkVHS3VlY2hlRmVuc3RlckJld2VnLkJyaWd0aG5lc3NTY2h3ZWxsd2VydCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjIlM0YlN0RwKV83bDcyTHclMjMlMjNXdV8lN0JqQ2olMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUyNEhyYk9FLnE5UTU3NCU3RCU2MGJRNEklMjUlMjIlM0VpZExpY2h0U2NoYWx0ZXIlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjI5WCU2MGglNjA0ZElwcHQyYiUyM0lNNyUyNTA1JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFYWxpYXMuMC5lZy5LdWVjaGUuRUdLdWVjaGVGZW5zdGVyTGljaHQlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyJTVCc001QyFoeWUlN0M2RX5JbFlqNTluJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJOKSUyQioxfjNaU2xtKmR4ZmVoJTYwJTVCRSUyMiUzRUxpY2h0RHVyY2hCZXdlZ0FuJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMl9zJTJCJTdCJTQwYSUyQ2RzZk8lNUQlNUQqSXdOWTMlNUQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb24lMjIlMjBpZCUzRCUyMnUxKmw4KUdSQSUzRlBCaiU1QlJBMGElMjRTJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFYWxpYXMuMC5lZy5LdWVjaGUuRUdLdWVjaGVGZW5zdGVyQmV3ZWclM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRWFueSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRXRydWUlM0MlMkZmaWVsZCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyWWFRYSU3QiU1RHJVOUx4aHdYclclMjRGJTI1fiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFZGVidWclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIydEUwKWpzcyUyRlNMSEp5ZCUzRi5MaTFHJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTAlM0ElMjBCZXdlZ3VuZyUyMCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMjFJbTclM0ZLYnVVJTNBJTNCYyU3QyljJTNCJTI1ZFQlMkIlMjIlM0UlM0NtdXRhdGlvbiUyMGVsc2UlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9zb3VyY2UlMjIlMjBpZCUzRCUyMiklMjQtbiU1RFklM0JfS2tZMyUyNU0qcUE5VEwlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFc3RhdGUudmFsJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMmYlM0RVZiU1QnRYTnhPa3lzdnklNUVrWDR3JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyaCUyMyUyRk5iSCUzRlYuSk5xYyUyM1RyUCU3QyU1RCUyMiUzRWxpY2h0SXN0QW4lM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlX3ZhciUyMiUyMGlkJTNEJTIyJTNEOCU0MGl5JTQwSDRtYylJVSU1RUl2JTVENmNhJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMlc5LkczdCUzRmY5JTNEcnZPSDZjUWpGKCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMk5NaXYlM0QlMjMlMkIpJTdDJTI1JTQwJTJDKFhrSC0pU34lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUyNEhyYk9FLnE5UTU3NCU3RCU2MGJRNEklMjUlMjIlM0VpZExpY2h0U2NoYWx0ZXIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjIlNURvb04pMzJYJTdEbSUzRmZWMDU1KUtEJTNEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dF9qb2luJTIyJTIwaWQlM0QlMjIlNURqenkpTTR1cUNBJTIzSWNHfkdnVXMlMjIlM0UlM0NtdXRhdGlvbiUyMGl0ZW1zJTNEJTIyNCUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMiUzRHklMjN5WiUyRjI0NSUyMyUyNSU3RE0hZ1M0VyUyQiglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMC4xJTNBJTIwSGlud2Vpc2UlM0ElMjBUeXAlM0ElM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udmVydF90eXBlJTIyJTIwaWQlM0QlMjJqJTNCaSUyNDJaSllQaiUyNGghJTNEJTJGZmY5Ry0lMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJVEVNJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyUHRNYmslNjAlNDAlNUQlM0QlMkMlN0JFX1UzQXptamYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnJoJTIzJTJGTmJIJTNGVi5KTnFjJTIzVHJQJTdDJTVEJTIyJTNFbGljaHRJc3RBbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQyJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyJTNBJTNGJTdCSFQlMkZwMGtjJTVFWnNSblNCQSUzQkklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTIwV2VydCUyMGlzdCUzQSUyMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDMlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJTUF90ViU2MG5HdX4yb2t6UyU1RFMwMCU3QyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyd0dpJTdCYiU3Q3clM0JBTjEuLWwlNUIqeTh4cSUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX29wZXJhdGlvbiUyMiUyMGlkJTNEJTIyQjQlNUQpNDFVdSUzRCp0bHohZipkJTIzJTJGJTJGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VBTkQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJ4N2ZxX1VmRXElM0IuJTI0VlMlNUQlMjRNQVQxJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyR0clN0RVQyklMjU4JTJGaDhxTjNxdG5SZW0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRU5FUSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnZlcnRfdHlwZSUyMiUyMGlkJTNEJTIyKkclNDAlM0ZSITZ0JTJCJTNBYmNIUDMlM0QpeiUzQTglMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJVEVNJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTJCb0o4JTYwNE81Zi56OWdzUSUzQTUlN0NFMyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlMkJodEsqJTdCfiU0MFVzenAlNURyS01VKnpBJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRWJvb2xlYW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyaXN2YW96TmtLJTI0JTdDenYyJTNEMGphfmElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0X2pvaW4lMjIlMjBpZCUzRCUyMjclNjByIWglM0RCYVB6MWtFblBob34lMjMlMjUlMjIlM0UlM0NtdXRhdGlvbiUyMGl0ZW1zJTNEJTIyNCUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMm5oa1BxdENhdlM4QyU2MGFLYUZGME8lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMC41JTNBJTIwQnVnZml4JTIwd3JvbmclMjB0eXBlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnZlcnRfdHlwZSUyMiUyMGlkJTNEJTIyKiglMjNYJTJCY3goKkR5JTQwTUV6JTNCcSU1RS5BJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySVRFTSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMnlhZTU4JTVEKHBEazElNUUlN0MlMjRuJTVCMWI1JTVFJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyaCUyMyUyRk5iSCUzRlYuSk5xYyUyM1RyUCU3QyU1RCUyMiUzRWxpY2h0SXN0QW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMmltY1RmSDBWM2IlMjMpfiU1RGM4JTdEKlkqJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUyMFdlcnQlMjBpc3QlM0ElMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQzJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyLnlMcCU1RFIlMjVCZHRuJTYwJTNEQyU3RDVUQ0pNJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyaCUyMyUyRk5iSCUzRlYuSk5xYyUyM1RyUCU3QyU1RCUyMiUzRWxpY2h0SXN0QW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJzX2ZYQzIlNDBydGlXTiUyM2JKVDRnQkolMjIlM0UlM0NtdXRhdGlvbiUyMGVsc2UlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjJ3JTNCSCUyM3lIM2FlJTVEeiUzRGwyJTVFUkk0KiUyMyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjIlNUV5NWdMdiU1RS0lNDBlZiUzRjQ1a1ZWdXIwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyaCUyMyUyRk5iSCUzRlYuSk5xYyUyM1RyUCU3QyU1RCUyMiUzRWxpY2h0SXN0QW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyTk8lNUJWKHElM0IlMjNkLTlTU1QlMkYwbU9iJTNEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRW9uJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJWQldsJTYwZyUyQyUzQSU2MFUxJTJCNiUzRkMhX3pVYSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMjNiIW0oJTI0QmolMjQ2cnFsJTI1VCU3RGhGR3olMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyJTNEJTI0fjhiJTdCIVhkNnp6YjMpc2pHa2MlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMmUlN0NhSSUyRklLJTdCSSU1RUZBS0k2ci4tNzIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMC41YSUzQSUyMGFuJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkVMU0UlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJpJTQwJTdEcWtSeCl+UHguUSU3RHc4ZSUyQzJGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyaCUyMyUyRk5iSCUzRlYuSk5xYyUyM1RyUCU3QyU1RCUyMiUzRWxpY2h0SXN0QW4lM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyTmR0a0taUnR1TlRYMVglNUIyaXJlRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyJTIzRiU1RSF+flVIRjc4MUdpNTNDJTYwIWQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMk5pY3ZPRVUtOCUyRkQ2Z2VDTCUyQyUyNVZuJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTAuNWIlM0ElMjBhdXMlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyX0Y0QXNJKiU3RDMlN0MyJTdCJTIzRiU0MCU1QmUwOTIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMmRrbFU4MURtMW1LMUg0cmklNUUlN0J0KiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfam9pbiUyMiUyMGlkJTNEJTIyOXVKLmpmY01ELSU3QiU3QyUyQyUzRCUyRkwxcng5JTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjIlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIuRFNQQ3ZpdilnQTV5UThvRi1COSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UxJTNBJTIwZXJrYW5udCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJsJTNBNS5KRnAlN0Jra0FPUlpGMUZQViklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnJoJTIzJTJGTmJIJTNGVi5KTnFjJTIzVHJQJTdDJTVEJTIyJTNFbGljaHRJc3RBbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMiU2MEhNJTI0Ym9aSVc4RSU0MDJBSiU3QkN4KEIlMjIlM0UlM0NtdXRhdGlvbiUyMGVsc2UlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjI0NCUzQVlMcSU1Qml6JTVEJTNGJTNBQnlDMyElM0FpbCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJua0ZDJTI0dyUyQyUyNEIlNUQlM0ElNUQuJTdDJTdEam5DM2QlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMkpzZUVrLX5UJTNBamg2KWFMLmIydSElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMiUzQSUyMExpY2h0JTIwaXN0JTIwYmVyZWl0cyUyMGFuJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIybVg5MlQlM0JpOVF0JTNGJTI1WSlvcXYlNUV6ZSUyMiUzRSUzQ211dGF0aW9uJTIwZWxzZSUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMm1vd3JibDElMjNMTmh5b1RfLU5oJTVCZyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyTiklMkIqMX4zWlNsbSpkeGZlaCU2MCU1QkUlMjIlM0VMaWNodER1cmNoQmV3ZWdBbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyJTJDWXE1QlNSZiFYKUczdkZIZGslM0ExJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJsNS1NJTJCJTI0KmZ2MyU3RClTaSpud3glNURoJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTMlM0ElMjB2ZXJsJUMzJUE0bmdlcmUlMjBMaWNodGRhdWVyJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0aW1lb3V0c19jbGVhcnRpbWVvdXQlMjIlMjBpZCUzRCUyMndFSTBiU2lXOUdibDglNUVJciUzQSUyRn4lM0ElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFaW5pdExpY2h0QXVzJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGltZW91dHNfY2xlYXJ0aW1lb3V0JTIyJTIwaWQlM0QlMjIqKlczJTVFJTYwZWYlMkMlNURRJTIzXyFRIUslN0QuRCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0V2ZXJsJUMzJUE0bmdlcnVuZ0xpY2h0JTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGltZW91dHNfc2V0dGltZW91dF92YXJpYWJsZSUyMiUyMGlkJTNEJTIyTX40WiUyRnklMkMlN0QlNUJxdiUyRiUzRiU1RU0hVXN2ISUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0V2ZXJsJUMzJUE0bmdlcnVuZ0xpY2h0JTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyJTdDWEV+bnhNdCklNDAuKTJKVnBOaVBYJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMTAwMCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTJDVHQlM0ZBZ1QlNUIxLnBLbG4lNDBYJTVCIWtBJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlM0FOJTVCY0klM0YlN0QyJTdCOHdkdmYlM0Y4YzRXKiUyMiUzRUxpY2h0TmFjaGRldGVrdGlvbkFuYmxlaWJlbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJwcm9jZWR1cmVzX2NhbGxub3JldHVybiUyMiUyMGlkJTNEJTIyJTYweiU3QktCS1hMJTQwSi1DJTYwKGNUSWJ1UyUyMiUzRSUzQ211dGF0aW9uJTIwbmFtZSUzRCUyMkxpY2h0JTIwYXVzc2NoYWx0ZW4lMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRUxTRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJHMWJIJTJGJTdCT2c3JTNBQlgoKiElNUVNZDQxJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjItZGJoJTJDV0ouRiUzRjgxUEIhaHpuZSU3QiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UzJTNBbm90aGluZzJkbyUyMExpY2h0JTIwbmljaHQlMjBkdXJjaCUyMEFsZ28lMjBnZXNldHp0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRUxTRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJOJTNCbHApYUMlMjQlNjBmKWYuektJVHpNUyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFZGVidWclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyWiU3Q3MlNDAtWSU3Q2N6d2wlN0IuMylGcFlufiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UyJTNBJTIwTGljaHQlMjBpc3QlMjBhdXMlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJSJTJDcWF1JTQwVWxacCU1QmslNUVFJTNEOSpYcXklMjIlM0UlM0NtdXRhdGlvbiUyMGVsc2UlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjJZKkNRay1aaE5fNHYlNUIlN0QlNUJsIUolNUJtJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VMVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyIV8lNjBKNGElN0IxJTdCS18lM0IlMkNQdCUzQSU2MCU2MGQ0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFYWxpYXMuMC5lZy5LdWVjaGUuRUdLdWVjaGVGZW5zdGVyQmV3ZWdMdXglM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyekd6aEtQbk8uOENXZColM0RJLSUyMyUyNUQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMmh+JTdEdDlNTEwlNURpdF9WJTdDVlJZM00lMjUlMjIlM0VzY2h3ZWxsV2VydExpY2h0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyRihzJTNGdiUyRjBUTFRlQSU1RVZrZSUyNVBBWiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFZGVidWclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyaXBiISUzRih1TWpueVElNURYOC4lNUUlMkNfZyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UzJTNBJTIwa2xlaW5lciUyMFNjaHdlbGx3ZXJ0LSUyNmd0JTNCTGljaHQlMjBhbnNjaGFsdGVuJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJSdTNkRU1PcSUzRH5kQyE4KjRCYiUzRHAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMk4pJTJCKjF+M1pTbG0qZHhmZWglNjAlNUJFJTIyJTNFTGljaHREdXJjaEJld2VnQW4lM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIycCU0MDVKc05LfiUzRiU3QiUyNHBHZ1hRNCUyNTJnJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbF9leCUyMiUyMGlkJTNEJTIyXyUzRGRkT3FkNFE0ZyUyNDFzX1B2WXFpJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVFlQRSUyMiUzRWZhbHNlJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDTEVBUl9SVU5OSU5HJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMlIzdFRJOGVDJTJGZSUyNXMlMkJyLSUyQk16QWMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VPYmplY3QlMjBJRCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyMEQzSDUlMjNmVWRfJTNBYkM5QmMuKDAzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlMjRIcmJPRS5xOVE1NzQlN0QlNjBiUTRJJTI1JTIyJTNFaWRMaWNodFNjaGFsdGVyJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyOSU2MDFTODR5VSU1RGx6OGhzd00qUGwyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyREVMQVlfTVMlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMi0oUyUyM0N5VTluZHolM0Jza1klM0RWdiUyQi0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0aW1lb3V0c19zZXR0aW1lb3V0X3ZhcmlhYmxlJTIyJTIwaWQlM0QlMjJJUCglM0I4ZnklN0RwZiU3Q0tzKiUyQ01ETjVqJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTkFNRSUyMiUzRWluaXRMaWNodEF1cyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyREVMQVlfTVMlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMnBzJTI1JTVFWGZNKiUzRHIlM0QlNUJUUHowcS5MMiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTYwMDAwJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJ1JTdCfmxEJTNGUn40cV8lMkNQLnJFJTVCZH5XJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlM0FOJTVCY0klM0YlN0QyJTdCOHdkdmYlM0Y4YzRXKiUyMiUzRUxpY2h0TmFjaGRldGVrdGlvbkFuYmxlaWJlbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJwcm9jZWR1cmVzX2NhbGxub3JldHVybiUyMiUyMGlkJTNEJTIybSU3QiUyQ2xDMDJ0Tkk4al82TDMlM0IqcHklMjIlM0UlM0NtdXRhdGlvbiUyMG5hbWUlM0QlMjJMaWNodCUyMGF1c3NjaGFsdGVuJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkVMU0UlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyaGZVIW5JTCpXJTNBKiU3Q0p6JTI1aHZaJTdERSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFZGVidWclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIydyoxN3YlMkYlN0JoLiUyNEF2Sm4pQ1dHJTNCUiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UzJTNBJTIwZ3IlQzMlQjYlQzMlOUZlciUyMFNjaHdlbGx3ZXJ0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJFTFNFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMmMlM0RnKmZJJTIzLUx5JTIzJTJDSEslN0JHenNxNiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFZGVidWclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyJTNCNSU3RDRQJTI0YTRLak1jYzZBbE9ZZDYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMSUzQSUyMG5pY2h0JTIwZXJrYW5udCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0NibG9jayUyMHR5cGUlM0QlMjJwcm9jZWR1cmVzX2RlZm5vcmV0dXJuJTIyJTIwaWQlM0QlMjJ1MHdSJTQweUhrbCUzQWQlMkIlMjQlNUJxJTI0SjhfZiUyMiUyMHglM0QlMjI4MzglMjIlMjB5JTNEJTIyOTYzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTkFNRSUyMiUzRUxpY2h0JTIwYXVzc2NoYWx0ZW4lM0MlMkZmaWVsZCUzRSUzQ2NvbW1lbnQlMjBwaW5uZWQlM0QlMjJmYWxzZSUyMiUyMGglM0QlMjI4MCUyMiUyMHclM0QlMjIxNjAlMjIlM0VCZXNjaHJlaWJlJTIwZGllc2UlMjBGdW5rdGlvbiUyMCVFMiU4MCVBNiUzQyUyRmNvbW1lbnQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBQ0slMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyZjB3LSU3REVGd1p2JTNCJTNEMUxDJTNBJTNBbUdqJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJ0ViUyQ0s0JTI1QmYlM0EuUWd1Q1hHJTdEJTI0VSU1QiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VYJTNBJTIwTGljaHQlMjBhdXNzY2hhbHRlbiUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyJTNEZCUyRmglM0RTRU9tKCUzRG8lMjRrZUJUcDMlMkIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMk4pJTJCKjF+M1pTbG0qZHhmZWglNjAlNUJFJTIyJTNFTGljaHREdXJjaEJld2VnQW4lM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyJTI1JTVEKjRYdmglNUQlM0JkZFElMjM2ZiUyNSU1RTMoJTNEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xfZXglMjIlMjBpZCUzRCUyMmRfSzEtRHElMkIlN0IyJTJDKldxLWUxXyUzQiU0MCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRZUEUlMjIlM0VmYWxzZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ0xFQVJfUlVOTklORyUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFT2JqZWN0JTIwSUQlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMmJkJTVCMUZqZlYlNUVkJTNGbWolN0JxdFpudCklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUyNEhyYk9FLnE5UTU3NCU3RCU2MGJRNEklMjUlMjIlM0VpZExpY2h0U2NoYWx0ZXIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJ3aiUyQzByV2hwdWsyJTdCJTQwRlFRNWlqdiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyMiUyQmJVSCU3Q2MlM0JsbmtXSyU1RGJSJTNEbFNLJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGeG1sJTNF
        
        1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @ioMas last edited by

          @iomas sagte: Debugausgabe

          Passiert das auch, wenn die Read-Konvertierung weg gelassen wird (automatische Konvertierung)?

          1 Reply Last reply Reply Quote 0
          • I
            ioMas last edited by

            @paul53
            Meinst du im Alias die Zeile 15 leeren "read": "val=='on'",?
            Im Admin Adapter stet dann direkt val, das kann man wohl nicht löschen.
            ich habe das jetzt mal getestet: allerdings ohne den javascriptadapter neu zu starten, ich hätte da ein anderes Ergebnis erwartet aber das folgende ist passiert:

            #case normal durch bewegungsmelder
            19:32:50.355	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
            19:32:50.357	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
            19:32:50.357	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: erkanntfalse
            19:32:50.358	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 2: Licht ist aus
            19:32:50.361	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
            19:33:22.338	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
            19:33:22.339	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: nicht erkannt
            19:33:50.366	debug	javascript.0 (783) script.js.EG.kueche.beweg2: X: Licht ausschalten
            
            #case durch beweg an durch manuelles schalten ausgeschaltet
            19:33:53.270	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
            19:33:53.270	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
            19:33:53.271	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: erkanntfalse
            19:33:53.271	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 2: Licht ist aus
            19:33:53.272	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
            19:34:25.254	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
            19:34:25.255	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: nicht erkannt
            19:34:53.274	debug	javascript.0 (783) script.js.EG.kueche.beweg2: X: Licht ausschalten
            19:35:36.111	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
            19:35:36.113	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:string Wert ist: off
            19:35:36.114	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.5: Bugfix wrong typestring Wert ist: off
            19:35:36.114	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.5b: aus
            19:35:36.115	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: erkanntfalse
            19:35:36.115	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 2: Licht ist aus
            19:35:36.117	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
            19:36:08.093	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
            19:36:08.094	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: nicht erkannt
            19:36:36.122	debug	javascript.0 (783) script.js.EG.kueche.beweg2: X: Licht ausschalten
            

            das verhalten hat sich nicht geändert :? soll ich den js adapter einmal neu starten?

            paul53 1 Reply Last reply Reply Quote 0
            • I
              ioMas last edited by

              @iomas
              Kleiner Nachtrag das neustarten des Scriptes (nicht des adapters) ändert daran leider auc nichts

              I 1 Reply Last reply Reply Quote 0
              • I
                ioMas @ioMas last edited by

                @iomas
                Nachtrag 2, In der Adminoberfläche macht es keinen Unterschied ob ich konvertiere oder nicht in beiden Fällen wird entsprechend true oder false angezeigt, habe mich dennoch entschieden es wieder auf val=='on' zu setzen da das mit meiner Logik irgendwie mehr entspricht :?

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @ioMas last edited by

                  @iomas sagte: soll ich den js adapter einmal neu starten?

                  Der Alias wird im js-controller verarbeitet.

                  I 1 Reply Last reply Reply Quote 0
                  • I
                    ioMas @paul53 last edited by

                    @paul53
                    habe die readfunktionalität noch einmal entfernt und auch den js adapter neu gestartet leider mit gleichem Ergebnis.

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @ioMas last edited by

                      @iomas sagte: js adapter neu gestartet

                      Starte mal ioBroker neu.

                      I 1 Reply Last reply Reply Quote 0
                      • I
                        ioMas @paul53 last edited by

                        @paul53
                        hat leider nichts gebracht 😞

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @ioMas last edited by paul53

                          @iomas sagte: hat leider nichts gebracht

                          Noch ein Versuch: Ändere die Rolle des Alias in "switch".

                          I 1 Reply Last reply Reply Quote 0
                          • I
                            ioMas @paul53 last edited by

                            @paul53
                            habe die Rolle in switch geändert leider bleibt es dabei, es wird ein string draus.

                            paul53 1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @ioMas last edited by

                              @iomas sagte: bleibt es dabei, es wird ein string draus.

                              Mal InfluxDB auf dem Alias deaktiviert?

                              I 1 Reply Last reply Reply Quote 0
                              • I
                                ioMas @paul53 last edited by

                                @paul53
                                InfluxDB abschalten hat leider keinen Einfluß auf das beschriebene Verhalten.

                                paul53 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @ioMas last edited by paul53

                                  @iomas
                                  Ich habe den Javascript-Code mal zum Testen übernommen, zwei Aliase und zwei MQTT-Datenpunkte erstellt und getestet: Ich erhalte immer nur:

                                  0.1: Hinweise: Typ:boolean Wert ist: false
                                  

                                  oder true. Mit welchem Ablauf erscheint?

                                  0.1: Hinweise: Typ:string Wert ist: off
                                  
                                  1 Reply Last reply Reply Quote 1
                                  • I
                                    ioMas last edited by ioMas

                                    @paul53
                                    Dieser erscheint wenn ich den shelly über die app frühzeitig ausschalte, also Licht geht an, ich schalte per App oder phsyikalisch den Schalter aus. Wenn danach erneut der Bewegungsmelder aktiviert wird, dann kommt es zu besagtem Wechsel des Typs.

                                    paul53 1 Reply Last reply Reply Quote 0
                                    • paul53
                                      paul53 @ioMas last edited by paul53

                                      @iomas sagte in Alias auf Shelly - unerwartete Änderung des Aliastyps:

                                      Licht geht an, ich schalte per App oder phsyikalisch den Schalter aus. Wenn danach erneut der Bewegungsmelder aktiviert wird

                                      Habe ich mal nachgestellt:

                                      16:49:48.115	info	javascript.1 (2077) script.js.common.Neuer_Test: 0: Bewegung
                                      16:49:48.116	info	javascript.1 (2077) script.js.common.Neuer_Test: 0.1: Hinweise: Typ:boolean Wert ist: false
                                      16:49:48.116	info	javascript.1 (2077) script.js.common.Neuer_Test: 1: erkanntfalse
                                      16:49:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: 2: Licht ist aus
                                      16:49:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: 3: kleiner Schwellwert->Licht anschalten
                                      16:49:48.248	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: true, Ack: true, Skript: script.js.common.Shelly1
                                      16:50:00.164	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                                      16:50:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                                      16:50:48.176	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                                      16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 0: Bewegung
                                      16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 0.1: Hinweise: Typ:boolean Wert ist: false
                                      16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 1: erkanntfalse
                                      16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 2: Licht ist aus
                                      16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 3: kleiner Schwellwert->Licht anschalten
                                      16:51:02.886	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: true, Ack: true, Skript: script.js.common.Shelly1
                                      16:52:02.817	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                                      16:52:02.916	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                                      

                                      Der zusätzliche Log-Eintrag kommt aus dem Debug-Log auf dem Alias:

                                      on({id: idLichtSchalter}, function(dp) {
                                          log('Alias: ' + dp.state.val + ', Ack: ' + dp.state.ack + ', Skript: ' + dp.state.c);
                                      });
                                      

                                      Was mir auffällt: Der Debug-Trigger liefert stets "Ack: true", d.h. auf das ursprüngliche Setzen mit ack = false reagiert der Trigger nicht. Allerdings reagiert das MQTT-Kommando:

                                      17:25:49.123	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                                      17:25:49.127	info	javascript.1 (2077) script.js.common.Neuer_Test: MQTT Command: off, Ack: false
                                      17:25:49.180	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                                      
                                      I 2 Replies Last reply Reply Quote 0
                                      • I
                                        ioMas @paul53 last edited by

                                        @paul53 said in Alias auf Shelly - unerwartete Änderung des Aliastyps:

                                        on({id: idLichtSchalter}, function(dp) {

                                        Ich habe mein Script mal um folgendes erweitert, analog zu deinem JS, hoffe ich...
                                        5440c641-5f17-4b15-8f4c-984ede15e422-grafik.png

                                        on({id: [].concat(idLichtSchalter), change: "ne"}, async function (obj) {
                                          var value = obj.state.val;
                                          var oldValue = obj.oldState.val;
                                          console.debug((['Alias: ',(obj.state ? obj.state.val : ""),', Ack: ',(obj.state ? obj.state.ack : ""),', Skript: ',(obj.state ? obj.state.from : "")].join('')));
                                        });
                                        

                                        ist was im blockly unter JS dazukam.
                                        Die Ausgabe sieht bei mir danach wie folgt aus:

                                        17:21:44.814	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                        17:21:44.815	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
                                        17:21:44.815	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                                        17:21:44.817	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                                        17:21:44.821	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                                        17:21:44.913	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                                        17:22:03.022	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                                        17:22:16.783	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                        17:22:16.784	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                                        17:22:44.823	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                                        17:22:54.973	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                        17:22:54.974	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:string Wert ist: off
                                        17:22:54.974	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5: Bugfix wrong typestring Wert ist: off
                                        17:22:54.974	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5b: aus
                                        17:22:54.975	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                                        17:22:54.976	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                                        17:22:54.977	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                                        17:22:55.046	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                                        17:23:26.961	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                        17:23:26.962	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                                        17:23:54.979	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                                        17:23:55.052	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                                        

                                        hilft das weiter?

                                        paul53 1 Reply Last reply Reply Quote 0
                                        • paul53
                                          paul53 @ioMas last edited by paul53

                                          @iomas sagte: hilft das weiter?

                                          Nicht wirklich. Ich kann das Verhalten mit "Wert ist: off" bei mir nicht nachstellen - bei gleichem Ablauf. Version des Hosts (js-controller)?
                                          Außerdem triggert mein Debug-Trigger auf "wurde aktualisiert".

                                          I 1 Reply Last reply Reply Quote 0
                                          • I
                                            ioMas @paul53 last edited by

                                            @paul53
                                            habe es auf aktualisiert geändert:
                                            f1d217cb-bd75-4c31-a783-205b3f147578-grafik.png

                                            on({id: [].concat(idLichtSchalter), change: "any"}, async function (obj) {
                                              var value = obj.state.val;
                                              var oldValue = obj.oldState.val;
                                              console.debug((['Alias: ',(obj.state ? obj.state.val : ""),', Ack: ',(obj.state ? obj.state.ack : ""),', Skript: ',(obj.state ? obj.state.from : "")].join('')));
                                            });
                                            

                                            Debugausgabe:

                                            17:36:35.502	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                            17:36:35.502	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
                                            17:36:35.503	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                                            17:36:35.503	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                                            17:36:35.504	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                                            17:36:35.588	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                                            17:36:45.637	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                                            17:37:07.496	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                            17:37:07.498	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                                            17:37:35.507	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                                            17:37:49.309	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                            17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:string Wert ist: off
                                            17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5: Bugfix wrong typestring Wert ist: off
                                            17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5b: aus
                                            17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                                            17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                                            17:37:49.311	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                                            17:37:49.417	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                                            17:38:21.305	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                            17:38:21.306	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                                            17:38:49.312	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                                            17:38:49.425	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                                            
                                            

                                            e30f3e69-2935-4d43-a5d8-122d7e17ab72-grafik.png

                                            Host js sollt 4.0.24 sein.

                                            paul53 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            389
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            alias blockly shellys
                                            3
                                            40
                                            1490
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo