Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. Fehler VIS-2 Widget Inventwo

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.4k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.5k

Fehler VIS-2 Widget Inventwo

Geplant Angeheftet Gesperrt Verschoben Visualisierung
54 Beiträge 8 Kommentatoren 3.6k Aufrufe 8 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • LongbowL Longbow

    Gutem Morgen,

    ja benutze gerade die Beta Version 0.0.03 von dem Adapter.
    Da auch die anderen Versionen das gleich Problem bringen.

    Auf dem dem iPad (ioborker App) und Browser kommt die Fehlermeldung. Bei dem PC / Mac im Browser (egal welchen) geht es.

    An was liegt das bitte, das es auf dem iPad nicht klappt?

    Greenshot 2025-08-04 08.25.57.png ioBroker.vis.jpeg

    OliverIOO Offline
    OliverIOO Offline
    OliverIO
    schrieb am zuletzt editiert von
    #7

    @longbow

    also am safari kann es eigentlich nicht liegen.
    bei mir funktioniert das.
    wie alt ist der safari oder das ipad?

    Meine Adapter und Widgets
    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
    Links im Profil

    LongbowL OliverIOO 2 Antworten Letzte Antwort
    0
    • OliverIOO OliverIO

      @longbow

      also am safari kann es eigentlich nicht liegen.
      bei mir funktioniert das.
      wie alt ist der safari oder das ipad?

      LongbowL Offline
      LongbowL Offline
      Longbow
      schrieb am zuletzt editiert von
      #8

      @oliverio Muss es aber leider... denn iphone 15 mit iso18 wie ipad Pro iso18 genau das gleich... Safari geht nicht, Chrome und Edge geht.

      1 Antwort Letzte Antwort
      0
      • OliverIOO OliverIO

        @longbow

        also am safari kann es eigentlich nicht liegen.
        bei mir funktioniert das.
        wie alt ist der safari oder das ipad?

        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        schrieb am zuletzt editiert von OliverIO
        #9

        @oliverio sagte in Fehler VIS-2 Widget Inventwo:

        bei mir funktioniert das.

        ipad ios 18.5

        alternativen im apple universum sind zwar möglich, aber aktuell unwahrscheinlich. alle "alternativ" browser mussten bisher immer das gleiche webkit (was im endeffekt safari ist) verwenden.
        aktuell hat aber noch kein anderer eine app unter ios entwickelt, die eine andere renderengine wie safari/webkit verwendet.

        https://developer.apple.com/de/support/alternative-browser-engines/
        https://stadt-bremerhaven.de/ios-fuer-browser-ohne-webkit-engine-sind-die-huerden-angeblich-zu-hoch/

        dennoch kannst du mal probieren chrome/firefox auf dem ipad zu installieren um irgendwelche browser-einstellungen auszuschließen.
        ausserdem wäre es gut, wenn du das widget mal exportierst um ein fehler in einer konkreten einstellung auszuschließen.

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        LongbowL 1 Antwort Letzte Antwort
        0
        • OliverIOO OliverIO

          @oliverio sagte in Fehler VIS-2 Widget Inventwo:

          bei mir funktioniert das.

          ipad ios 18.5

          alternativen im apple universum sind zwar möglich, aber aktuell unwahrscheinlich. alle "alternativ" browser mussten bisher immer das gleiche webkit (was im endeffekt safari ist) verwenden.
          aktuell hat aber noch kein anderer eine app unter ios entwickelt, die eine andere renderengine wie safari/webkit verwendet.

          https://developer.apple.com/de/support/alternative-browser-engines/
          https://stadt-bremerhaven.de/ios-fuer-browser-ohne-webkit-engine-sind-die-huerden-angeblich-zu-hoch/

          dennoch kannst du mal probieren chrome/firefox auf dem ipad zu installieren um irgendwelche browser-einstellungen auszuschließen.
          ausserdem wäre es gut, wenn du das widget mal exportierst um ein fehler in einer konkreten einstellung auszuschließen.

          LongbowL Offline
          LongbowL Offline
          Longbow
          schrieb am zuletzt editiert von
          #10

          @oliverio

          Das wäre das eine Widget:

          Es geht wirklich auf den Apple Geräten, da ich kleine anderen Geräte habe nicht mit dem Safari.
          Chrome oder Edge geht

          [
            {
              "tpl": "tplInventwoWidgetUniversal",
              "data": {
                "alignItems": "space-between",
                "backgroundFeedback": "rgba(69, 86, 24, 1)",
                "backgroundOpacity": 1,
                "bindings": [],
                "borderRadiusBottomLeft": 0,
                "borderRadiusBottomRight": 12,
                "borderRadiusTopLeft": 12,
                "borderRadiusTopRight": 0,
                "borderSizeBottom": 0,
                "borderSizeLeft": 0,
                "borderSizeRight": 0,
                "borderSizeTop": 0,
                "borderStyle": "none",
                "btnSpacing": 10,
                "buttonHoldValue": false,
                "buttonSize": 101,
                "colorPickerBorderWidth": 0,
                "colorPickerColorModel": "hex",
                "colorPickerComponentsSpace": 12,
                "colorPickerDirection": "vertical",
                "colorPickerHandleMargin": 6,
                "colorPickerHandleSize": 8,
                "colorPickerShowSaturation": true,
                "colorPickerShowValue": true,
                "colorPickerShowWheel": true,
                "colorPickerWidth": 200,
                "contentAlign": "center",
                "contentBlinkInterval": 0,
                "contentMarginBottom": 0,
                "contentMarginLeft": 0,
                "contentMarginRight": 0,
                "contentMarginTop": 0,
                "contentMirror": false,
                "contentOpacity": 1,
                "contentRotation": 0,
                "contentSize": 40,
                "contentType": "icon",
                "countStates": 2,
                "dialogBackground": "rgb(18, 18, 18)",
                "dialogBorderRadiusBottomLeft": 0,
                "dialogBorderRadiusBottomRight": 12,
                "dialogBorderRadiusTopLeft": 12,
                "dialogBorderRadiusTopRight": 0,
                "dialogCloseButtonBackground": "rgba(255,255,255,0)",
                "dialogCloseButtonColor": "rgba(255,255,255,1)",
                "dialogCloseButtonSize": 14,
                "dialogHeight": 300,
                "dialogPadding": 10,
                "dialogTitleColor": "rgb(255,255,255)",
                "dialogTitleSize": 20,
                "dialogWidth": 500,
                "direction": "row",
                "feedbackDuration": 0,
                "flexDirection": "column",
                "g_attr_content_color_picker": true,
                "g_attr_group_click_feedback": true,
                "g_attr_group_css_alignment": true,
                "g_attr_group_css_border": true,
                "g_attr_group_css_border_radius": true,
                "g_attr_group_css_content": true,
                "g_attr_group_css_inner_shadow": true,
                "g_attr_group_css_outer_shadow": true,
                "g_attr_group_css_spacing": true,
                "g_attr_group_css_text": true,
                "g_attr_group_css_transparency": true,
                "g_attr_group_state_default": true,
                "g_attr_group_type_view_in_dialog": true,
                "g_common": true,
                "httpType": "send",
                "innerShadowBlur": 0,
                "innerShadowSize": 0,
                "innerShadowX": 0,
                "innerShadowY": 0,
                "mode": "separatedButtons",
                "oid": "0_userdata.0.Garage.Garage_Command2",
                "outerShadowBlur": 2,
                "outerShadowColor": "rgba(0, 0, 0, 1)",
                "outerShadowColorFeedback": "rgba(0, 0, 0, 1)",
                "outerShadowSize": 1,
                "outerShadowX": 2,
                "outerShadowY": 2,
                "paddingBottom": 10,
                "paddingLeft": 10,
                "paddingRight": 10,
                "paddingTop": 10,
                "textAlign": "start",
                "textDecoration": "none",
                "textMarginBottom": 0,
                "textMarginLeft": 0,
                "textMarginRight": 0,
                "textMarginTop": 0,
                "type": "switch",
                "undefined1": null,
                "compareBy1": "default",
                "oid1": null,
                "comparisonOperator1": "===",
                "value1": "close",
                "view1": null,
                "text1": "Tor schliesen",
                "textTrue1": "close",
                "icon1": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzYxcHgiCgkgaGVpZ2h0PSIzNjFweCIgdmlld0JveD0iMCAwIDM2MSAzNjEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDM2MSAzNjE7Ij4KPGc+Cgk8ZyBzdHlsZT0iZGlzcGxheTpub25lOyI+CgkJPGcgc3R5bGU9ImRpc3BsYXk6aW5saW5lOyI+CgkJCTxwYXRoIHN0eWxlPSJmaWxsOmN1cnJlbnRDb2xvcjsiIGQ9Ik0xMzguODMzLDI2MC4xNjdjMCwzLjMxMy0yLjY4Nyw2LTYsNmgtMTEuNWMtMy4zMTMsMC02LTIuNjg3LTYtNnYtMTFjMC0zLjMxMywyLjY4Ny02LDYtNmgxMS41CgkJCQljMy4zMTMsMCw2LDIuNjg3LDYsNlYyNjAuMTY3eiIvPgoJCQk8cGF0aCBzdHlsZT0iZmlsbDpjdXJyZW50Q29sb3I7IiBkPSJNMjQ2LjgzMywyNjAuMTY3YzAsMy4zMTMtMi42ODcsNi02LDZoLTExLjVjLTMuMzEzLDAtNi0yLjY4Ny02LTZ2LTExYzAtMy4zMTMsMi42ODctNiw2LTZoMTEuNQoJCQkJYzMuMzEzLDAsNiwyLjY4Nyw2LDZWMjYwLjE2N3oiLz4KCQkJPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6Y3VycmVudENvbG9yO3N0cm9rZS13aWR0aDoxMDsiIGQ9Ik0yMzguNTgzLDIwMS40NjdjMCw0Ljc5NS0yLjU0LDguNjg0LTUuNjc0LDguNjg0aC0xMDQuMjYKCQkJCWMtMy4xMzQsMC01LjY3NC0zLjg4OS01LjY3NC04LjY4NGw0LjcyOS0xOC40NTNjMC00Ljc5Niw1LjM3Ny04LjY4NCw4LjUxMS04LjY4NGg4OS4xMjhjMy4xMzUsMCw4LjUxMiwzLjg4OCw4LjUxMiw4LjY4NAoJCQkJTDIzOC41ODMsMjAxLjQ2N3oiLz4KCQkJPHBhdGggc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yOyIgZD0iTTI1MS4xNjYsMjQyLjg2MWMwLDIuOTMtMi43NzksNS4zMDYtNi4yMDUsNS4zMDZIMTE2LjcwNWMtMy40MjcsMC02LjIwNi0yLjM3Ni02LjIwNi01LjMwNgoJCQkJdi0yNy43MDljMC0yLjkzLDIuNzc5LTUuMzA2LDYuMjA2LTUuMzA2aDEyOC4yNTZjMy40MjYsMCw2LjIwNSwyLjM3Niw2LjIwNSw1LjMwNlYyNDIuODYxeiBNMTQzLjU4MywyMjEuNDA1CgkJCQljMC0yLjU5Ny0yLjY4Ny00LjcwMi02LTQuNzAyaC0xNy4yNWMtMy4zMTMsMC02LDIuMTA1LTYsNC43MDJ2NC44OTdjMCwyLjU5NiwyLjY4Nyw0LjcwMSw2LDQuNzAxaDE3LjI1YzMuMzEzLDAsNi0yLjEwNSw2LTQuNzAxCgkJCQlWMjIxLjQwNXogTTI0Ny4wODMsMjIxLjQwNWMwLTIuNTk3LTIuNjg3LTQuNzAyLTYtNC43MDJoLTE3LjI1Yy0zLjMxMywwLTYsMi4xMDUtNiw0LjcwMnY0Ljg5N2MwLDIuNTk2LDIuNjg3LDQuNzAxLDYsNC43MDEKCQkJCWgxNy4yNWMzLjMxMywwLDYtMi4xMDUsNi00LjcwMVYyMjEuNDA1eiBNMjA2LjgzMywyMjUuNTYxYzAtNS4wNS0yLjY4Ny05LjE0NC02LTkuMTQ0aC00MC41Yy0zLjMxMywwLTYsNC4wOTQtNiw5LjE0NHY1LjcxMwoJCQkJYzAsNS4wNSwyLjY4Nyw5LjE0NCw2LDkuMTQ0aDQwLjVjMy4zMTMsMCw2LTQuMDk0LDYtOS4xNDRWMjI1LjU2MXoiLz4KCQk8L2c+CgkJPGxpbmUgc3R5bGU9ImRpc3BsYXk6aW5saW5lO2ZpbGw6bm9uZTtzdHJva2U6Y3VycmVudENvbG9yO3N0cm9rZS13aWR0aDoxMDsiIHgxPSIxNDcuNTgzIiB5MT0iMjI0LjE2NyIgeDI9IjIxMy41ODMiIHkyPSIyMjQuMTY3Ii8+CgkJPGxpbmUgc3R5bGU9ImRpc3BsYXk6aW5saW5lO2ZpbGw6bm9uZTtzdHJva2U6Y3VycmVudENvbG9yO3N0cm9rZS13aWR0aDoxMDsiIHgxPSIxNDguNTgzIiB5MT0iMjM3LjE2NyIgeDI9IjIxNC41ODMiIHkyPSIyMzcuMTY3Ii8+Cgk8L2c+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yOyIgZD0iTTgwLjgzMywxMzAuNDE3YzAsNDUuMTQzLDAsOTAuMjg2LDAsMTM1LjQyOWMwLDAuMDUyLDAsMC4xMDMsMCwwLjE1NGMwLDYuNDQ4LDEwLDYuNDQ4LDEwLDAKCQkJCWMwLTQ1LjE0MywwLTkwLjI4NiwwLTEzNS40MjljMC0wLjA1MSwwLTAuMTAzLDAtMC4xNTRDOTAuODMzLDEyMy45NjgsODAuODMzLDEyMy45NjgsODAuODMzLDEzMC40MTdMODAuODMzLDEzMC40MTd6Ii8+CgkJPC9nPgoJPC9nPgoJPGc+CgkJPGc+CgkJCTxwYXRoIHN0eWxlPSJmaWxsOmN1cnJlbnRDb2xvcjsiIGQ9Ik0yNzAuODMzLDEzMC40MTdjMCw0NS4xNDMsMCw5MC4yODYsMCwxMzUuNDI5YzAsMC4wNTIsMCwwLjEwMywwLDAuMTU0YzAsNi40NDgsMTAsNi40NDgsMTAsMAoJCQkJYzAtNDUuMTQzLDAtOTAuMjg2LDAtMTM1LjQyOWMwLTAuMDUxLDAtMC4xMDMsMC0wLjE1NEMyODAuODMzLDEyMy45NjgsMjcwLjgzMywxMjMuOTY4LDI3MC44MzMsMTMwLjQxN0wyNzAuODMzLDEzMC40MTd6Ii8+CgkJPC9nPgoJPC9nPgoJPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6Y3VycmVudENvbG9yO3N0cm9rZS13aWR0aDoxMDsiIGQ9Ik0yODYuODMzLDExNy41ODhjMCwzLjE3Mi0yLjU3Miw1Ljc0NS01Ljc0NSw1Ljc0NUg4MS4yODcKCQljLTMuMTczLDAtNS43NDUtMi41NzMtNS43NDUtNS43NDV2LTkuNTc1YzAtMy4xNzMsMi41NzItNS43NDUsNS43NDUtNS43NDVoMTk5LjgwMWMzLjE3MywwLDUuNzQ1LDIuNTcyLDUuNzQ1LDUuNzQ1VjExNy41ODh6Ii8+Cgk8Zz4KCQk8Zz4KCQkJPGc+CgkJCQk8cGF0aCBzdHlsZT0iZmlsbDpjdXJyZW50Q29sb3I7IiBkPSJNMjcyLjQ1OSwxNDUuNzM2Yy0wLjMzLDEuNjU4LDAuOTc5LDEuNDMxLTAuNjMxLDEuNDMxYy0xLjA3MywwLTIuMTQ2LDAtMy4yMiwwCgkJCQkJYy0zLjg2NSwwLTcuNzMsMC0xMS41OTYsMGMtMTIuOTM2LDAtMjUuODcsMC0zOC44MDYsMGMtMzEuNTQxLDAtNjMuMDgzLDAtOTQuNjI0LDBjLTkuOTQ5LDAtMTkuODk3LDAtMjkuODQ2LDAKCQkJCQljLTEuNjI1LDAtMy4yNSwwLTQuODc1LDBjMC45MTYsMCwwLjQ3MS03LjcwNywwLjQ3MS04LjYxNGMwLTAuOTM0LTIuODM5LDAuOTQ4LTAuNDM2LDAuOTQ4YzAuMjEyLDAsMC40MjUsMCwwLjYzOCwwCgkJCQkJYzIxLjEwMSwwLDQyLjIwMSwwLDYzLjMwMiwwYzI4LjQxNiwwLDU2LjgzMiwwLDg1LjI0NywwYzkuMzE3LDAsMTguNjM0LDAsMjcuOTUsMGMyLjA3NywwLDQuMTUzLDAsNi4yMjksMAoJCQkJCWMwLjE1MiwwLDAuMzA1LDAsMC40NTYsMGMyLjQwMywwLTAuMzg2LTAuMjU0LTAuMzg2LTEuMzU0YzAsMi44NCwwLDUuNjgsMCw4LjUyMWMwLDQuNTE0LDcsNC41MTQsNywwCgkJCQkJYzAtNi4xLDEuNDk4LTE0LjE2Ny02LjUyOC0xNC4xNjdjLTEuNjI1LDAtMy4yNSwwLTQuODc1LDBjLTkuOTQ5LDAtMTkuODk3LDAtMjkuODQ3LDBjLTMxLjU0MSwwLTYzLjA4MiwwLTk0LjYyMywwCgkJCQkJYy0xMi45MzYsMC0yNS44NzEsMC0zOC44MDYsMGMtNC44MiwwLTExLjQ2MiwxLjEzLTE2LjA1OS0wLjIxN2MtNy45MTUtMi4zMi02LjcwNSwxMi40NjctNS45MDIsMTYuNDk4CgkJCQkJYzAuNzcsMy44NjUsNC43MzIsNS4zODYsOC4xMzMsNS4zODZjOC4zNjQsMCwxNi43MjksMCwyNS4wOTMsMGM1Mi4wNzEsMCwxMDQuMTQxLDAsMTU2LjIxMSwwYzMuNTYzLDAsNi40MTUtMy4yNDksNy4wNzctNi41NjkKCQkJCQlDMjgwLjA4OCwxNDMuMTg5LDI3My4zNDEsMTQxLjMxMSwyNzIuNDU5LDE0NS43MzZ6Ii8+CgkJCTwvZz4KCQk8L2c+CgkJPGc+CgkJCTxnPgoJCQkJPHBhdGggc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yOyIgZD0iTTI3Mi40NTksMTYwLjQwMmMtMC4zMywxLjY1OCwwLjk3OSwxLjQzMS0wLjYzMSwxLjQzMWMtMS4wNzMsMC0yLjE0NiwwLTMuMjIsMAoJCQkJCWMtMy44NjUsMC03LjczLDAtMTEuNTk2LDBjLTEyLjkzNiwwLTI1Ljg3LDAtMzguODA2LDBjLTMxLjU0MSwwLTYzLjA4MywwLTk0LjYyNCwwYy05Ljk0OSwwLTE5Ljg5NywwLTI5Ljg0NiwwCgkJCQkJYy0xLjYyNSwwLTMuMjUsMC00Ljg3NSwwYzAuOTE2LDAsMC40NzEtNy43MDcsMC40NzEtOC42MTRjMC0wLjkzNC0yLjgzOSwwLjk0OC0wLjQzNiwwLjk0OGMwLjIxMiwwLDAuNDI1LDAsMC42MzgsMAoJCQkJCWMyMS4xMDEsMCw0Mi4yMDEsMCw2My4zMDIsMGMyOC40MTYsMCw1Ni44MzIsMCw4NS4yNDcsMGM5LjMxNywwLDE4LjYzNCwwLDI3Ljk1LDBjMi4wNzcsMCw0LjE1MywwLDYuMjI5LDAKCQkJCQljMC4xNTIsMCwwLjMwNSwwLDAuNDU2LDBjMi40MDMsMC0wLjM4Ni0wLjI1NC0wLjM4Ni0xLjM1NGMwLDIuODQsMCw1LjY4LDAsOC41MjFjMCw0LjUxNCw3LDQuNTE0LDcsMAoJCQkJCWMwLTYuMSwxLjQ5OC0xNC4xNjctNi41MjgtMTQuMTY3Yy0xLjYyNSwwLTMuMjUsMC00Ljg3NSwwYy05Ljk0OSwwLTE5Ljg5NywwLTI5Ljg0NywwYy0zMS41NDEsMC02My4wODIsMC05NC42MjMsMAoJCQkJCWMtMTIuOTM2LDAtMjUuODcxLDAtMzguODA2LDBjLTQuODIsMC0xMS40NjIsMS4xMy0xNi4wNTktMC4yMTdjLTcuOTE1LTIuMzItNi43MDUsMTIuNDY3LTUuOTAyLDE2LjQ5OAoJCQkJCWMwLjc3LDMuODY1LDQuNzMyLDUuMzg2LDguMTMzLDUuMzg2YzguMzY0LDAsMTYuNzI5LDAsMjUuMDkzLDBjNTIuMDcxLDAsMTA0LjE0MSwwLDE1Ni4yMTEsMGMzLjU2MywwLDYuNDE1LTMuMjQ5LDcuMDc3LTYuNTY5CgkJCQkJQzI4MC4wODgsMTU3Ljg1NSwyNzMuMzQxLDE1NS45NzgsMjcyLjQ1OSwxNjAuNDAyeiIvPgoJCQk8L2c+CgkJPC9nPgoJCTxnPgoJCQk8Zz4KCQkJCTxwYXRoIHN0eWxlPSJmaWxsOmN1cnJlbnRDb2xvcjsiIGQ9Ik0yNzIuNDU5LDE3NC43MzJjLTAuMzMsMS42NTgsMC45NzksMS40MzEtMC42MzEsMS40MzFjLTEuMDczLDAtMi4xNDYsMC0zLjIyLDAKCQkJCQljLTMuODY1LDAtNy43MywwLTExLjU5NiwwYy0xMi45MzYsMC0yNS44NywwLTM4LjgwNiwwYy0zMS41NDEsMC02My4wODMsMC05NC42MjQsMGMtOS45NDksMC0xOS44OTcsMC0yOS44NDYsMAoJCQkJCWMtMS42MjUsMC0zLjI1LDAtNC44NzUsMGMwLjkxNiwwLDAuNDcxLTcuNzA3LDAuNDcxLTguNjE0YzAtMC45MzQtMi44MzksMC45NDgtMC40MzYsMC45NDhjMC4yMTIsMCwwLjQyNSwwLDAuNjM4LDAKCQkJCQljMjEuMTAxLDAsNDIuMjAxLDAsNjMuMzAyLDBjMjguNDE2LDAsNTYuODMyLDAsODUuMjQ3LDBjOS4zMTcsMCwxOC42MzQsMCwyNy45NSwwYzIuMDc3LDAsNC4xNTMsMCw2LjIyOSwwCgkJCQkJYzAuMTUyLDAsMC4zMDUsMCwwLjQ1NiwwYzIuNDAzLDAtMC4zODYtMC4yNTQtMC4zODYtMS4zNTRjMCwyLjg0LDAsNS42OCwwLDguNTIxYzAsNC41MTQsNyw0LjUxNCw3LDAKCQkJCQljMC02LjEsMS40OTgtMTQuMTY3LTYuNTI4LTE0LjE2N2MtMS42MjUsMC0zLjI1LDAtNC44NzUsMGMtOS45NDksMC0xOS44OTcsMC0yOS44NDcsMGMtMzEuNTQxLDAtNjMuMDgyLDAtOTQuNjIzLDAKCQkJCQljLTEyLjkzNiwwLTI1Ljg3MSwwLTM4LjgwNiwwYy00LjgyLDAtMTEuNDYyLDEuMTMtMTYuMDU5LTAuMjE3Yy03LjkxNS0yLjMyLTYuNzA1LDEyLjQ2Ny01LjkwMiwxNi40OTgKCQkJCQljMC43NywzLjg2NSw0LjczMiw1LjM4Niw4LjEzMyw1LjM4NmM4LjM2NCwwLDE2LjcyOSwwLDI1LjA5MywwYzUyLjA3MSwwLDEwNC4xNDEsMCwxNTYuMjExLDBjMy41NjMsMCw2LjQxNS0zLjI0OCw3LjA3Ny02LjU2OQoJCQkJCUMyODAuMDg4LDE3Mi4xODUsMjczLjM0MSwxNzAuMzA3LDI3Mi40NTksMTc0LjczMnoiLz4KCQkJPC9nPgoJCTwvZz4KCQk8Zz4KCQkJPGc+CgkJCQk8cGF0aCBzdHlsZT0iZmlsbDpjdXJyZW50Q29sb3I7IiBkPSJNMjcyLjQ1OSwxODkuMzk4Yy0wLjMzLDEuNjU4LDAuOTc5LDEuNDMxLTAuNjMxLDEuNDMxYy0xLjA3MywwLTIuMTQ2LDAtMy4yMiwwCgkJCQkJYy0zLjg2NSwwLTcuNzMsMC0xMS41OTYsMGMtMTIuOTM2LDAtMjUuODcsMC0zOC44MDYsMGMtMzEuNTQxLDAtNjMuMDgzLDAtOTQuNjI0LDBjLTkuOTQ5LDAtMTkuODk3LDAtMjkuODQ2LDAKCQkJCQljLTEuNjI1LDAtMy4yNSwwLTQuODc1LDBjMC45MTYsMCwwLjQ3MS03LjMwOCwwLjQ3MS04LjE0NGMwLTEuOTk5LTIuNjEzLDAuNDc3LTAuNDcxLDAuNDc3YzAuMTgsMCwwLjM2MSwwLDAuNTQyLDAKCQkJCQljMjAuODI3LDAsNDEuNjU0LDAsNjIuNDgxLDBjMjguNzMzLDAsNTcuNDY3LDAsODYuMTk5LDBjOS40NTEsMCwxOC45MDEsMCwyOC4zNTMsMGMxLjk4MSwwLDMuOTY0LDAsNS45NDYsMAoJCQkJCWMwLjEyOSwwLDAuMjU4LDAsMC4zODcsMGMyLjQxMiwwLTAuNDM2LTEuNzcxLTAuNDM2LTEuMDJjMCwyLjcyOSwwLDUuNDU4LDAsOC4xODdjMCw0LjUxNCw3LDQuNTE0LDcsMAoJCQkJCWMwLTYuMDYzLDEuNTAxLTE0LjE2Ny02LjUwNy0xNC4xNjdjLTEuNTE4LDAtMy4wMzUsMC00LjU1MiwwYy05Ljc5OCwwLTE5LjU5NywwLTI5LjM5NSwwYy0zMS40OTksMC02Mi45OTksMC05NC40OTksMAoJCQkJCWMtMTguNTE0LDAtMzcuMDI4LDAtNTUuNTQyLDBjLTguMDA4LDAtNi41MDcsOC4xMDMtNi41MDcsMTQuMTY3YzAsNC40MTEsMy45OTIsNy41LDguMDYsNy41YzguMDI3LDAsMTYuMDU0LDAsMjQuMDgsMAoJCQkJCWM1Mi40NTIsMCwxMDQuOTAzLDAsMTU3LjM1NCwwYzMuNjk2LDAsNi42NzItMy4wMTIsNy4zODEtNi41NjlDMjgwLjA4NywxODYuODUyLDI3My4zNDEsMTg0Ljk3NCwyNzIuNDU5LDE4OS4zOTh6Ii8+CgkJCTwvZz4KCQk8L2c+CgkJPGc+CgkJCTxnPgoJCQkJPHBhdGggc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yOyIgZD0iTTI3Mi40NTksMjA0LjA2NWMtMC4zMywxLjY1OCwwLjk3OSwxLjQzMS0wLjYzMSwxLjQzMWMtMS4wNzMsMC0yLjE0NiwwLTMuMjIsMAoJCQkJCWMtMy44NjUsMC03LjczLDAtMTEuNTk2LDBjLTEyLjkzNiwwLTI1Ljg3LDAtMzguODA2LDBjLTMxLjU0MSwwLTYzLjA4MywwLTk0LjYyNCwwYy05Ljk0OSwwLTE5Ljg5NywwLTI5Ljg0NiwwCgkJCQkJYy0xLjYyNSwwLTMuMjUsMC00Ljg3NSwwYzAuOTE2LDAsMC40NzEtNy4zMDgsMC40NzEtOC4xNDRjMC0xLjk5OC0yLjYxMywwLjQ3Ny0wLjQ3MSwwLjQ3N2MwLjE4LDAsMC4zNjEsMCwwLjU0MiwwCgkJCQkJYzIwLjgyNywwLDQxLjY1NCwwLDYyLjQ4MSwwYzI4LjczMywwLDU3LjQ2NywwLDg2LjE5OSwwYzkuNDUxLDAsMTguOTAxLDAsMjguMzUzLDBjMS45ODEsMCwzLjk2NCwwLDUuOTQ2LDAKCQkJCQljMC4xMjksMCwwLjI1OCwwLDAuMzg3LDBjMi40MTIsMC0wLjQzNi0xLjc3MS0wLjQzNi0xLjAyYzAsMi43MjksMCw1LjQ1OCwwLDguMTg3YzAsNC41MTQsNyw0LjUxNCw3LDAKCQkJCQljMC02LjA2MywxLjUwMS0xNC4xNjctNi41MDctMTQuMTY3Yy0xLjUxOCwwLTMuMDM1LDAtNC41NTIsMGMtOS43OTgsMC0xOS41OTcsMC0yOS4zOTUsMGMtMzEuNDk5LDAtNjIuOTk5LDAtOTQuNDk5LDAKCQkJCQljLTE4LjUxNCwwLTM3LjAyOCwwLTU1LjU0MiwwYy04LjAwOCwwLTYuNTA3LDguMTA0LTYuNTA3LDE0LjE2N2MwLDQuNDEsMy45OTIsNy41LDguMDYsNy41YzguMDI3LDAsMTYuMDU0LDAsMjQuMDgsMAoJCQkJCWM1Mi40NTIsMCwxMDQuOTAzLDAsMTU3LjM1NCwwYzMuNjk2LDAsNi42NzItMy4wMTIsNy4zODEtNi41NjlDMjgwLjA4OCwyMDEuNTE5LDI3My4zNDEsMTk5LjY0MSwyNzIuNDU5LDIwNC4wNjV6Ii8+CgkJCTwvZz4KCQk8L2c+CgkJPGc+CgkJCTxnPgoJCQkJPHBhdGggc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yOyIgZD0iTTI3Mi40NTksMjE4LjQwM2MtMC4zMywxLjY1OCwwLjk3OSwxLjQzMS0wLjYzMSwxLjQzMWMtMS4wNzMsMC0yLjE0NiwwLTMuMjIsMAoJCQkJCWMtMy44NjUsMC03LjczLDAtMTEuNTk2LDBjLTEyLjkzNiwwLTI1Ljg3LDAtMzguODA2LDBjLTMxLjU0MSwwLTYzLjA4MywwLTk0LjYyNCwwYy05Ljk0OSwwLTE5Ljg5NywwLTI5Ljg0NiwwCgkJCQkJYy0xLjYyNSwwLTMuMjUsMC00Ljg3NSwwYzAuOTE2LDAsMC40NzEtNy4zMDgsMC40NzEtOC4xNDRjMC0xLjk5OC0yLjYxMywwLjQ3Ny0wLjQ3MSwwLjQ3N2MwLjE4LDAsMC4zNjEsMCwwLjU0MiwwCgkJCQkJYzIwLjgyNywwLDQxLjY1NCwwLDYyLjQ4MSwwYzI4LjczMywwLDU3LjQ2NywwLDg2LjE5OSwwYzkuNDUxLDAsMTguOTAxLDAsMjguMzUzLDBjMS45ODEsMCwzLjk2NCwwLDUuOTQ2LDAKCQkJCQljMC4xMjksMCwwLjI1OCwwLDAuMzg3LDBjMi40MTIsMC0wLjQzNi0xLjc3MS0wLjQzNi0xLjAyYzAsMi43MjksMCw1LjQ1OCwwLDguMTg3YzAsNC41MTQsNyw0LjUxNCw3LDAKCQkJCQljMC02LjA2MywxLjUwMS0xNC4xNjctNi41MDctMTQuMTY3Yy0xLjUxOCwwLTMuMDM1LDAtNC41NTIsMGMtOS43OTgsMC0xOS41OTcsMC0yOS4zOTUsMGMtMzEuNDk5LDAtNjIuOTk5LDAtOTQuNDk5LDAKCQkJCQljLTE4LjUxNCwwLTM3LjAyOCwwLTU1LjU0MiwwYy04LjAwOCwwLTYuNTA3LDguMTA0LTYuNTA3LDE0LjE2N2MwLDQuNDEsMy45OTIsNy41LDguMDYsNy41YzguMDI3LDAsMTYuMDU0LDAsMjQuMDgsMAoJCQkJCWM1Mi40NTIsMCwxMDQuOTAzLDAsMTU3LjM1NCwwYzMuNjk2LDAsNi42NzItMy4wMTIsNy4zODEtNi41NjlDMjgwLjA4OCwyMTUuODU2LDI3My4zNDEsMjEzLjk3OSwyNzIuNDU5LDIxOC40MDN6Ii8+CgkJCTwvZz4KCQk8L2c+CgkJPGc+CgkJCTxnPgoJCQkJPHBhdGggc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yOyIgZD0iTTI3Mi40NTksMjMzLjA2OWMtMC4zMywxLjY1OCwwLjk3OSwxLjQzMS0wLjYzMSwxLjQzMWMtMS4wNzMsMC0yLjE0NiwwLTMuMjIsMAoJCQkJCWMtMy44NjUsMC03LjczLDAtMTEuNTk2LDBjLTEyLjkzNiwwLTI1Ljg3LDAtMzguODA2LDBjLTMxLjU0MSwwLTYzLjA4MywwLTk0LjYyNCwwYy05Ljk0OSwwLTE5Ljg5NywwLTI5Ljg0NiwwCgkJCQkJYy0xLjYyNSwwLTMuMjUsMC00Ljg3NSwwYzAuOTE2LDAsMC40NzEtNy43MDYsMC40NzEtOC42MTRjMC0wLjkzMy0yLjgzOSwwLjk0OC0wLjQzNiwwLjk0OGMwLjIxMiwwLDAuNDI1LDAsMC42MzgsMAoJCQkJCWMyMS4xMDEsMCw0Mi4yMDEsMCw2My4zMDIsMGMyOC40MTYsMCw1Ni44MzIsMCw4NS4yNDcsMGM5LjMxNywwLDE4LjYzNCwwLDI3Ljk1LDBjMi4wNzcsMCw0LjE1MywwLDYuMjI5LDAKCQkJCQljMC4xNTIsMCwwLjMwNSwwLDAuNDU2LDBjMi40MDMsMC0wLjM4Ni0wLjI1NC0wLjM4Ni0xLjM1NGMwLDIuODQxLDAsNS42ODEsMCw4LjUyMWMwLDQuNTE0LDcsNC41MTQsNywwCgkJCQkJYzAtNi4xLDEuNDk4LTE0LjE2Ni02LjUyOC0xNC4xNjZjLTEuNjI1LDAtMy4yNSwwLTQuODc1LDBjLTkuOTQ5LDAtMTkuODk3LDAtMjkuODQ3LDBjLTMxLjU0MSwwLTYzLjA4MiwwLTk0LjYyMywwCgkJCQkJYy0xMi45MzYsMC0yNS44NzEsMC0zOC44MDYsMGMtNC44MiwwLTExLjQ2MywxLjEzLTE2LjA1OS0wLjIxOGMtNy45MTQtMi4zMi02LjcwNSwxMi40NjgtNS45MDIsMTYuNDk3CgkJCQkJYzAuNzcsMy44NjUsNC43MzEsNS4zODcsOC4xMzMsNS4zODdjOC4zNjQsMCwxNi43MjksMCwyNS4wOTMsMGM1Mi4wNzEsMCwxMDQuMTQxLDAsMTU2LjIxMSwwYzMuNTYzLDAsNi40MTUtMy4yNDksNy4wNzctNi41NjkKCQkJCQlDMjgwLjA4OCwyMzAuNTIyLDI3My4zNDEsMjI4LjY0NSwyNzIuNDU5LDIzMy4wNjl6Ii8+CgkJCTwvZz4KCQk8L2c+CgkJPGc+CgkJCTxnPgoJCQkJPHBhdGggc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yOyIgZD0iTTI3Mi40NTksMjQ3LjczNWMtMC4zMywxLjY1OCwwLjk3OSwxLjQzMS0wLjYzMSwxLjQzMWMtMS4wNzMsMC0yLjE0NiwwLTMuMjIsMAoJCQkJCWMtMy44NjUsMC03LjczLDAtMTEuNTk2LDBjLTEyLjkzNiwwLTI1Ljg3LDAtMzguODA2LDBjLTMxLjU0MSwwLTYzLjA4MywwLTk0LjYyNCwwYy05Ljk0OSwwLTE5Ljg5NywwLTI5Ljg0NiwwCgkJCQkJYy0xLjYyNSwwLTMuMjUsMC00Ljg3NSwwYzAuOTE2LDAsMC40NzEtNy43MDYsMC40NzEtOC42MTRjMC0wLjkzMy0yLjgzOSwwLjk0OC0wLjQzNiwwLjk0OGMwLjIxMiwwLDAuNDI1LDAsMC42MzgsMAoJCQkJCWMyMS4xMDEsMCw0Mi4yMDEsMCw2My4zMDIsMGMyOC40MTYsMCw1Ni44MzIsMCw4NS4yNDcsMGM5LjMxNywwLDE4LjYzNCwwLDI3Ljk1LDBjMi4wNzcsMCw0LjE1MywwLDYuMjI5LDAKCQkJCQljMC4xNTIsMCwwLjMwNSwwLDAuNDU2LDBjMi40MDMsMC0wLjM4Ni0wLjI1NC0wLjM4Ni0xLjM1NGMwLDIuODQxLDAsNS42ODEsMCw4LjUyMWMwLDQuNTE0LDcsNC41MTQsNywwCgkJCQkJYzAtNi4xLDEuNDk4LTE0LjE2Ni02LjUyOC0xNC4xNjZjLTEuNjI1LDAtMy4yNSwwLTQuODc1LDBjLTkuOTQ5LDAtMTkuODk3LDAtMjkuODQ3LDBjLTMxLjU0MSwwLTYzLjA4MiwwLTk0LjYyMywwCgkJCQkJYy0xMi45MzYsMC0yNS44NzEsMC0zOC44MDYsMGMtNC44MjEsMC0xMS40NjIsMS4xMy0xNi4wNTktMC4yMTdjLTcuOTE1LTIuMzItNi43MDUsMTIuNDY3LTUuOTAyLDE2LjQ5NwoJCQkJCWMwLjc3LDMuODY0LDQuNzMyLDUuMzg2LDguMTMzLDUuMzg2YzguMzY0LDAsMTYuNzI5LDAsMjUuMDkzLDBjNTIuMDcxLDAsMTA0LjE0MSwwLDE1Ni4yMTEsMGMzLjU2MywwLDYuNDE1LTMuMjQ4LDcuMDc3LTYuNTY5CgkJCQkJQzI4MC4wODcsMjQ1LjE4OCwyNzMuMzQxLDI0My4zMTEsMjcyLjQ1OSwyNDcuNzM1eiIvPgoJCQk8L2c+CgkJPC9nPgoJCTxnPgoJCQk8Zz4KCQkJCTxwYXRoIHN0eWxlPSJmaWxsOmN1cnJlbnRDb2xvcjsiIGQ9Ik0yNzIuNDU5LDI2Mi4zMmMtMC4zMywxLjY1OCwwLjk3OSwxLjQzMS0wLjYzMSwxLjQzMWMtMS4wNzMsMC0yLjE0NiwwLTMuMjIsMAoJCQkJCWMtMy44NjUsMC03LjczLDAtMTEuNTk2LDBjLTEyLjkzNiwwLTI1Ljg3LDAtMzguODA2LDBjLTMxLjU0MSwwLTYzLjA4MywwLTk0LjYyNCwwYy05Ljk0OSwwLTE5Ljg5NywwLTI5Ljg0NiwwCgkJCQkJYy0xLjYyNSwwLTMuMjUsMC00Ljg3NSwwYzAuOTE2LDAsMC40NzEtNy4zMDgsMC40NzEtOC4xNDRjMC0xLjk5OC0yLjYxMywwLjQ3Ny0wLjQ3MSwwLjQ3N2MwLjE4LDAsMC4zNjEsMCwwLjU0MiwwCgkJCQkJYzIwLjgyNywwLDQxLjY1NCwwLDYyLjQ4MSwwYzI4LjczMywwLDU3LjQ2NywwLDg2LjE5OSwwYzkuNDUxLDAsMTguOTAxLDAsMjguMzUzLDBjMS45ODEsMCwzLjk2NCwwLDUuOTQ2LDAKCQkJCQljMC4xMjksMCwwLjI1OCwwLDAuMzg3LDBjMi40MTIsMC0wLjQzNi0xLjc3MS0wLjQzNi0xLjAyYzAsMi43MjksMCw1LjQ1OCwwLDguMTg3YzAsNC41MTQsNyw0LjUxNCw3LDAKCQkJCQljMC02LjA2MywxLjUwMS0xNC4xNjctNi41MDctMTQuMTY3Yy0xLjUxOCwwLTMuMDM1LDAtNC41NTIsMGMtOS43OTgsMC0xOS41OTcsMC0yOS4zOTUsMGMtMzEuNDk5LDAtNjIuOTk5LDAtOTQuNDk5LDAKCQkJCQljLTE4LjUxNCwwLTM3LjAyOCwwLTU1LjU0MiwwYy04LjAwOCwwLTYuNTA3LDguMTA0LTYuNTA3LDE0LjE2N2MwLDQuNDExLDMuOTkyLDcuNSw4LjA2LDcuNWM4LjAyNywwLDE2LjA1NCwwLDI0LjA4LDAKCQkJCQljNTIuNDUyLDAsMTA0LjkwMywwLDE1Ny4zNTQsMGMzLjY5NiwwLDYuNjcyLTMuMDEyLDcuMzgxLTYuNTY5QzI4MC4wODgsMjU5Ljc3MywyNzMuMzQxLDI1Ny44OTYsMjcyLjQ1OSwyNjIuMzJ6Ii8+CgkJCTwvZz4KCQk8L2c+CgkJPGc+CgkJCTxnPgoJCQkJPHBhdGggc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yOyIgZD0iTTg1LjgzMywxMzkuNWM0OS43OTMsMCw5OS41ODYsMCwxNDkuMzc5LDBjMTMuNTQxLDAsMjcuMDgxLDAsNDAuNjIxLDBjNC41MTQsMCw0LjUxNC03LDAtNwoJCQkJCWMtNDkuNzkzLDAtOTkuNTg2LDAtMTQ5LjM3OSwwYy0xMy41NCwwLTI3LjA4MSwwLTQwLjYyMSwwQzgxLjMxOSwxMzIuNSw4MS4zMTksMTM5LjUsODUuODMzLDEzOS41TDg1LjgzMywxMzkuNXoiLz4KCQkJPC9nPgoJCTwvZz4KCQk8Zz4KCQkJPGc+CgkJCQk8cGF0aCBzdHlsZT0iZmlsbDpjdXJyZW50Q29sb3I7IiBkPSJNMjM4LjIwOCwyMzIuMTY3YzMuNTgzLDAsNy4xNjcsMCwxMC43NSwwYzEuOTM1LDAsMS45MzUtMywwLTNjLTMuNTgzLDAtNy4xNjcsMC0xMC43NSwwCgkJCQkJQzIzNi4yNzMsMjI5LjE2NywyMzYuMjczLDIzMi4xNjcsMjM4LjIwOCwyMzIuMTY3TDIzOC4yMDgsMjMyLjE2N3oiLz4KCQkJPC9nPgoJCTwvZz4KCQk8Zz4KCQkJPGc+CgkJCQk8cGF0aCBzdHlsZT0iZmlsbDpjdXJyZW50Q29sb3I7IiBkPSJNMjUxLjIwOCwyMzQuMDY5Yy0wLjEyMiwwLjYwNSwwLjI2MSwwLjQzMS0xLjAwMywwLjQzMWMtMS4xNjQsMC0yLjMyOCwwLTMuNDkyLDAKCQkJCQljLTMuNDY0LDAtNi45MjgsMC0xMC4zOTIsMGMtMS4yNjcsMC0yLjUzMywwLTMuOCwwYy0xLjQzNCwwLTEuNDM4LTAuMjQtMS40MzgsMC4zNTRjMC0yLjc5MiwwLTUuNTgzLDAtOC4zNzUKCQkJCQljMCwwLjU0OC0wLjQ2MSwwLjM1NCwwLjg3OCwwLjM1NGMxLjQ1MywwLDIuOTA3LDAsNC4zNiwwYzMuNDY0LDAsNi45MjgsMCwxMC4zOTIsMGMxLjE2NCwwLDIuMzI4LDAsMy40OTIsMAoJCQkJCWMwLjM4MSwwLDAuNzYyLDAsMS4xNDMsMGMwLjI2NywwLTAuMjY1LTAuODE2LTAuMjY1LDAuMDUyYzAsMi43MDUsMCw1LjQwOSwwLDguMTE0YzAsNC41MTQsNyw0LjUxNCw3LDAKCQkJCQljMC0zLjA1NiwxLjEyMi04Ljg3OC0wLjcxNC0xMS42MDFjLTIuNTI0LTMuNzQ1LTUuODI2LTMuNTY1LTkuODM1LTMuNTY1Yy00Ljc5MiwwLTkuNTg0LDAtMTQuMzc2LDAKCQkJCQljLTQuMTQ2LDAtNy45OTEsMC44MTctOC45NSw1LjU2OWMtMC43MTIsMy41MjctMC40NzYsOC4xNjksMC4yMzUsMTEuNjk0YzAuODg5LDQuMzk4LDUuOTg1LDQuNDAyLDkuNDIxLDQuNDAyCgkJCQkJYzQuODEzLDAsOS42MjUsMCwxNC40MzgsMGM0LjMzMywwLDguNjE4LTAuNDI5LDkuNjU2LTUuNTY5QzI1OC44NDgsMjMxLjUyMywyNTIuMTAxLDIyOS42NDYsMjUxLjIwOCwyMzQuMDY5eiIvPgoJCQk8L2c+CgkJPC9nPgoJPC9nPgo8L2c+Cjwvc3ZnPgo=",
                "iconTrue1": null,
                "image1": null,
                "imageTrue1": null,
                "html1": null,
                "htmlTrue1": null,
                "viewInWidget1": null,
                "viewInWidgetTrue1": null,
                "contentBlinkInterval1": 0,
                "contentColor1": null,
                "contentColorTrue1": null,
                "background1": "rgb(69,86,24)",
                "backgroundTrue1": "rgb(69,86,24)",
                "textColor1": null,
                "textColorTrue1": null,
                "borderColor1": null,
                "borderColorTrue1": null,
                "outerShadowColor1": "rgb(0,0,0)",
                "outerShadowColorTrue1": "rgb(0,0,0)",
                "innerShadowColor1": null,
                "innerShadowColorTrue1": null,
                "contentSize1": 79,
                "g_countStates-1": true,
                "undefined2": null,
                "compareBy2": "default",
                "oid2": null,
                "comparisonOperator2": "===",
                "value2": "open",
                "view2": null,
                "text2": "Tor öffnen",
                "textTrue2": null,
                "icon2": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzYxcHgiCgkgaGVpZ2h0PSIzNjFweCIgdmlld0JveD0iMCAwIDM2MSAzNjEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDM2MSAzNjE7Ij4KPGc+Cgk8ZyBzdHlsZT0iZGlzcGxheTpub25lOyI+CgkJPGcgc3R5bGU9ImRpc3BsYXk6aW5saW5lOyI+CgkJCTxwYXRoIHN0eWxlPSJmaWxsOmN1cnJlbnRDb2xvcjsiIGQ9Ik0xMzguODMzLDI2MC4xNjdjMCwzLjMxMy0yLjY4Nyw2LTYsNmgtMTEuNWMtMy4zMTMsMC02LTIuNjg3LTYtNnYtMTFjMC0zLjMxMywyLjY4Ny02LDYtNmgxMS41CgkJCQljMy4zMTMsMCw2LDIuNjg3LDYsNlYyNjAuMTY3eiIvPgoJCQk8cGF0aCBzdHlsZT0iZmlsbDpjdXJyZW50Q29sb3I7IiBkPSJNMjQ2LjgzMywyNjAuMTY3YzAsMy4zMTMtMi42ODcsNi02LDZoLTExLjVjLTMuMzEzLDAtNi0yLjY4Ny02LTZ2LTExYzAtMy4zMTMsMi42ODctNiw2LTZoMTEuNQoJCQkJYzMuMzEzLDAsNiwyLjY4Nyw2LDZWMjYwLjE2N3oiLz4KCQkJPHBhdGggc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yOyIgZD0iTTIzMi45MDksMjE1LjE1aC0xMDQuMjZjLTUuOTg1LDAtMTAuNjc0LTYuMDExLTEwLjY3NC0xMy42ODR2LTAuNjMxbDQuNzUyLTE4LjU0NQoJCQkJYzAuNDYzLTcuMDU1LDcuNjA1LTEyLjk2MSwxMy40ODctMTIuOTYxaDg5LjEyOGM1Ljg4MiwwLDEzLjAyNCw1LjkwNiwxMy40ODcsMTIuOTYxbDQuNzUzLDE4LjU0NXYwLjYzMQoJCQkJQzI0My41ODMsMjA5LjE0LDIzOC44OTUsMjE1LjE1LDIzMi45MDksMjE1LjE1eiBNMTI5LjAyOCwyMDUuMTVoMTAzLjUwM2MwLjM0LTAuMzc2LDAuOTI0LTEuNDM2LDEuMDMzLTMuMTIzbC00LjcxLTE4LjM4MwoJCQkJdi0wLjYzMWMwLTEuNTcyLTIuNDkzLTMuNTQ2LTMuNTk1LTMuNjg4bC04OS4wNDUsMC4wMDNjLTEuMDE4LDAuMTM5LTMuNTExLDIuMTEzLTMuNTExLDMuNjg0djAuNjMxbC00LjcxLDE4LjM4MwoJCQkJQzEyOC4xMDMsMjAzLjcxNSwxMjguNjg4LDIwNC43NzQsMTI5LjAyOCwyMDUuMTV6Ii8+CgkJCTxwYXRoIHN0eWxlPSJmaWxsOmN1cnJlbnRDb2xvcjsiIGQ9Ik0yNTEuMTY2LDI0Mi44NjFjMCwyLjkzLTIuNzc5LDUuMzA2LTYuMjA1LDUuMzA2SDExNi43MDVjLTMuNDI3LDAtNi4yMDYtMi4zNzYtNi4yMDYtNS4zMDYKCQkJCXYtMjcuNzA5YzAtMi45MywyLjc3OS01LjMwNiw2LjIwNi01LjMwNmgxMjguMjU2YzMuNDI2LDAsNi4yMDUsMi4zNzYsNi4yMDUsNS4zMDZWMjQyLjg2MXogTTE0My41ODMsMjIxLjQwNQoJCQkJYzAtMi41OTctMi42ODctNC43MDItNi00LjcwMmgtMTcuMjVjLTMuMzEzLDAtNiwyLjEwNS02LDQuNzAydjQuODk3YzAsMi41OTYsMi42ODcsNC43MDEsNiw0LjcwMWgxNy4yNWMzLjMxMywwLDYtMi4xMDUsNi00LjcwMQoJCQkJVjIyMS40MDV6IE0yNDcuMDgzLDIyMS40MDVjMC0yLjU5Ny0yLjY4Ny00LjcwMi02LTQuNzAyaC0xNy4yNWMtMy4zMTMsMC02LDIuMTA1LTYsNC43MDJ2NC44OTdjMCwyLjU5NiwyLjY4Nyw0LjcwMSw2LDQuNzAxCgkJCQloMTcuMjVjMy4zMTMsMCw2LTIuMTA1LDYtNC43MDFWMjIxLjQwNXogTTIwNi44MzMsMjI1LjU2MWMwLTUuMDUtMi42ODctOS4xNDQtNi05LjE0NGgtNDAuNWMtMy4zMTMsMC02LDQuMDk0LTYsOS4xNDR2NS43MTMKCQkJCWMwLDUuMDUsMi42ODcsOS4xNDQsNiw5LjE0NGg0MC41YzMuMzEzLDAsNi00LjA5NCw2LTkuMTQ0VjIyNS41NjF6Ii8+CgkJPC9nPgoJCTxyZWN0IHg9IjE0Ny41ODMiIHk9IjIxOS4xNjciIHN0eWxlPSJkaXNwbGF5OmlubGluZTtmaWxsOmN1cnJlbnRDb2xvcjsiIHdpZHRoPSI2NiIgaGVpZ2h0PSIxMCIvPgoJCTxyZWN0IHg9IjE0OC41ODMiIHk9IjIzMi4xNjciIHN0eWxlPSJkaXNwbGF5OmlubGluZTtmaWxsOmN1cnJlbnRDb2xvcjsiIHdpZHRoPSI2NiIgaGVpZ2h0PSIxMCIvPgoJPC9nPgoJPGc+CgkJPGc+CgkJCTxnPgoJCQkJPHBhdGggc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yOyIgZD0iTTgwLjgzMywxMzAuNDE3YzAsNDUuMTQzLDAsOTAuMjg2LDAsMTM1LjQyOWMwLDAuMDUyLDAsMC4xMDMsMCwwLjE1NGMwLDYuNDQ4LDEwLDYuNDQ4LDEwLDAKCQkJCQljMC00NS4xNDMsMC05MC4yODYsMC0xMzUuNDI5YzAtMC4wNTEsMC0wLjEwMywwLTAuMTU0QzkwLjgzMywxMjMuOTY4LDgwLjgzMywxMjMuOTY4LDgwLjgzMywxMzAuNDE3TDgwLjgzMywxMzAuNDE3eiIvPgoJCQk8L2c+CgkJPC9nPgoJCTxnPgoJCQk8Zz4KCQkJCTxwYXRoIHN0eWxlPSJmaWxsOmN1cnJlbnRDb2xvcjsiIGQ9Ik0yNzAuODMzLDEzMC40MTdjMCw0NS4xNDMsMCw5MC4yODYsMCwxMzUuNDI5YzAsMC4wNTIsMCwwLjEwMywwLDAuMTU0YzAsNi40NDgsMTAsNi40NDgsMTAsMAoJCQkJCWMwLTQ1LjE0MywwLTkwLjI4NiwwLTEzNS40MjljMC0wLjA1MSwwLTAuMTAzLDAtMC4xNTRDMjgwLjgzMywxMjMuOTY4LDI3MC44MzMsMTIzLjk2OCwyNzAuODMzLDEzMC40MTdMMjcwLjgzMywxMzAuNDE3eiIvPgoJCQk8L2c+CgkJPC9nPgoJCTxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOmN1cnJlbnRDb2xvcjtzdHJva2Utd2lkdGg6MTA7IiBkPSJNMjg2LjgzMywxMTcuNTg4YzAsMy4xNzItMi41NzIsNS43NDUtNS43NDUsNS43NDVIODEuMjg3CgkJCWMtMy4xNzMsMC01Ljc0NS0yLjU3My01Ljc0NS01Ljc0NXYtOS41NzVjMC0zLjE3MywyLjU3Mi01Ljc0NSw1Ljc0NS01Ljc0NWgxOTkuODAxYzMuMTczLDAsNS43NDUsMi41NzIsNS43NDUsNS43NDVWMTE3LjU4OHoiLz4KCTwvZz4KCTxnPgoJCTxnPgoJCQk8cGF0aCBzdHlsZT0iZmlsbDpjdXJyZW50Q29sb3I7IiBkPSJNMjcyLjQ1OSwxMzEuNzQxYy0wLjExMywwLjU2LDAuNjA0LDAuNDMxLTAuNjMxLDAuNDMxYy0xLjA3MywwLTIuMTQ2LDAtMy4yMiwwCgkJCQljLTMuODY1LDAtNy43MywwLTExLjU5NiwwYy0xMi45MzYsMC0yNS44NywwLTM4LjgwNiwwYy0zMS41NDEsMC02My4wODMsMC05NC42MjQsMGMtOS45NDksMC0xOS44OTcsMC0yOS44NDYsMAoJCQkJYy0xLjYyNSwwLTMuMjUsMC00Ljg3NSwwYzAuODU0LDAsMC43NTUtNC42NjcsMC4wMzYtNC42NjdjMC41NjksMCwxLjEzOCwwLDEuNzA3LDBjMjIuNjY5LDAsNDUuMzM4LDAsNjguMDA4LDAKCQkJCWMyNi40OSwwLDUyLjk4MSwwLDc5LjQ3MiwwYzguODk0LDAsMTcuNzg2LDAsMjYuNjgsMGMyLjIzNSwwLDQuNDcyLDAsNi43MDgsMGMwLjQzMywwLDAuODY1LDAsMS4yOTgsMAoJCQkJYy0wLjYyMywwLTAuNDM2LTAuMzE5LTAuNDM2LDAuOTY5YzAsMS4zOTksMCwyLjc5OCwwLDQuMTk3YzAsNC41MTQsNyw0LjUxNCw3LDBjMC01LjA3OCwwLjM1NS0xMi4xNjctNi43NTUtMTIuMTY3CgkJCQljLTIuMDQ4LDAtNC4wOTYsMC02LjE0MywwYy0xMC41MzQsMC0yMS4wNjgsMC0zMS42MDIsMGMtMzEuNjczLDAtNjMuMzQ2LDAtOTUuMDE5LDBjLTEyLjQ4MiwwLTI0Ljk2NCwwLTM3LjQ0NSwwCgkJCQljLTQuODIsMC0xMy4xMjgtMS41NDEtMTcuNDI1LDEuMzU2Yy01LjM3NSwzLjYyNS0zLjUxLDE3LjMxLDMuODg4LDE3LjMxYzEuNDA5LDAsMi44MTcsMCw0LjIyNiwwYzkuNjQ2LDAsMTkuMjkyLDAsMjguOTM3LDAKCQkJCWM1MC4yNywwLDEwMC41MzksMCwxNTAuODEsMGMzLjM1MSwwLDUuNzcyLTIuNDQ4LDYuNDAzLTUuNTY5QzI4MC4wOTksMTI5LjE5NSwyNzMuMzUzLDEyNy4zMTgsMjcyLjQ1OSwxMzEuNzQxeiIvPgoJCTwvZz4KCTwvZz4KPC9nPgo8L3N2Zz4K",
                "iconTrue2": null,
                "image2": null,
                "imageTrue2": null,
                "html2": null,
                "htmlTrue2": null,
                "viewInWidget2": null,
                "viewInWidgetTrue2": null,
                "contentBlinkInterval2": 0,
                "contentColor2": null,
                "contentColorTrue2": null,
                "background2": "rgb(69,86,24)",
                "backgroundTrue2": "rgb(69,86,24)",
                "textColor2": null,
                "textColorTrue2": null,
                "borderColor2": null,
                "borderColorTrue2": null,
                "outerShadowColor2": "rgb(0,0,0)",
                "outerShadowColorTrue2": "rgb(0,0,0)",
                "innerShadowColor2": null,
                "innerShadowColorTrue2": null,
                "contentSize2": 87,
                "g_countStates-2": true
              },
              "style": {
                "bindings": [],
                "left": 11,
                "top": 20,
                "width": "254px",
                "height": "144px",
                "position": "absolute",
                "overflow": "visible"
              },
              "widgetSet": "vis-2-widgets-inventwo",
              "_id": "i000001"
            }
          ]
          
          OliverIOO 1 Antwort Letzte Antwort
          0
          • LongbowL Longbow

            @oliverio

            Das wäre das eine Widget:

            Es geht wirklich auf den Apple Geräten, da ich kleine anderen Geräte habe nicht mit dem Safari.
            Chrome oder Edge geht

            [
              {
                "tpl": "tplInventwoWidgetUniversal",
                "data": {
                  "alignItems": "space-between",
                  "backgroundFeedback": "rgba(69, 86, 24, 1)",
                  "backgroundOpacity": 1,
                  "bindings": [],
                  "borderRadiusBottomLeft": 0,
                  "borderRadiusBottomRight": 12,
                  "borderRadiusTopLeft": 12,
                  "borderRadiusTopRight": 0,
                  "borderSizeBottom": 0,
                  "borderSizeLeft": 0,
                  "borderSizeRight": 0,
                  "borderSizeTop": 0,
                  "borderStyle": "none",
                  "btnSpacing": 10,
                  "buttonHoldValue": false,
                  "buttonSize": 101,
                  "colorPickerBorderWidth": 0,
                  "colorPickerColorModel": "hex",
                  "colorPickerComponentsSpace": 12,
                  "colorPickerDirection": "vertical",
                  "colorPickerHandleMargin": 6,
                  "colorPickerHandleSize": 8,
                  "colorPickerShowSaturation": true,
                  "colorPickerShowValue": true,
                  "colorPickerShowWheel": true,
                  "colorPickerWidth": 200,
                  "contentAlign": "center",
                  "contentBlinkInterval": 0,
                  "contentMarginBottom": 0,
                  "contentMarginLeft": 0,
                  "contentMarginRight": 0,
                  "contentMarginTop": 0,
                  "contentMirror": false,
                  "contentOpacity": 1,
                  "contentRotation": 0,
                  "contentSize": 40,
                  "contentType": "icon",
                  "countStates": 2,
                  "dialogBackground": "rgb(18, 18, 18)",
                  "dialogBorderRadiusBottomLeft": 0,
                  "dialogBorderRadiusBottomRight": 12,
                  "dialogBorderRadiusTopLeft": 12,
                  "dialogBorderRadiusTopRight": 0,
                  "dialogCloseButtonBackground": "rgba(255,255,255,0)",
                  "dialogCloseButtonColor": "rgba(255,255,255,1)",
                  "dialogCloseButtonSize": 14,
                  "dialogHeight": 300,
                  "dialogPadding": 10,
                  "dialogTitleColor": "rgb(255,255,255)",
                  "dialogTitleSize": 20,
                  "dialogWidth": 500,
                  "direction": "row",
                  "feedbackDuration": 0,
                  "flexDirection": "column",
                  "g_attr_content_color_picker": true,
                  "g_attr_group_click_feedback": true,
                  "g_attr_group_css_alignment": true,
                  "g_attr_group_css_border": true,
                  "g_attr_group_css_border_radius": true,
                  "g_attr_group_css_content": true,
                  "g_attr_group_css_inner_shadow": true,
                  "g_attr_group_css_outer_shadow": true,
                  "g_attr_group_css_spacing": true,
                  "g_attr_group_css_text": true,
                  "g_attr_group_css_transparency": true,
                  "g_attr_group_state_default": true,
                  "g_attr_group_type_view_in_dialog": true,
                  "g_common": true,
                  "httpType": "send",
                  "innerShadowBlur": 0,
                  "innerShadowSize": 0,
                  "innerShadowX": 0,
                  "innerShadowY": 0,
                  "mode": "separatedButtons",
                  "oid": "0_userdata.0.Garage.Garage_Command2",
                  "outerShadowBlur": 2,
                  "outerShadowColor": "rgba(0, 0, 0, 1)",
                  "outerShadowColorFeedback": "rgba(0, 0, 0, 1)",
                  "outerShadowSize": 1,
                  "outerShadowX": 2,
                  "outerShadowY": 2,
                  "paddingBottom": 10,
                  "paddingLeft": 10,
                  "paddingRight": 10,
                  "paddingTop": 10,
                  "textAlign": "start",
                  "textDecoration": "none",
                  "textMarginBottom": 0,
                  "textMarginLeft": 0,
                  "textMarginRight": 0,
                  "textMarginTop": 0,
                  "type": "switch",
                  "undefined1": null,
                  "compareBy1": "default",
                  "oid1": null,
                  "comparisonOperator1": "===",
                  "value1": "close",
                  "view1": null,
                  "text1": "Tor schliesen",
                  "textTrue1": "close",
                  "icon1": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzYxcHgiCgkgaGVpZ2h0PSIzNjFweCIgdmlld0JveD0iMCAwIDM2MSAzNjEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDM2MSAzNjE7Ij4KPGc+Cgk8ZyBzdHlsZT0iZGlzcGxheTpub25lOyI+CgkJPGcgc3R5bGU9ImRpc3BsYXk6aW5saW5lOyI+CgkJCTxwYXRoIHN0eWxlPSJmaWxsOmN1cnJlbnRDb2xvcjsiIGQ9Ik0xMzguODMzLDI2MC4xNjdjMCwzLjMxMy0yLjY4Nyw2LTYsNmgtMTEuNWMtMy4zMTMsMC02LTIuNjg3LTYtNnYtMTFjMC0zLjMxMywyLjY4Ny02LDYtNmgxMS41CgkJCQljMy4zMTMsMCw2LDIuNjg3LDYsNlYyNjAuMTY3eiIvPgoJCQk8cGF0aCBzdHlsZT0iZmlsbDpjdXJyZW50Q29sb3I7IiBkPSJNMjQ2LjgzMywyNjAuMTY3YzAsMy4zMTMtMi42ODcsNi02LDZoLTExLjVjLTMuMzEzLDAtNi0yLjY4Ny02LTZ2LTExYzAtMy4zMTMsMi42ODctNiw2LTZoMTEuNQoJCQkJYzMuMzEzLDAsNiwyLjY4Nyw2LDZWMjYwLjE2N3oiLz4KCQkJPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6Y3VycmVudENvbG9yO3N0cm9rZS13aWR0aDoxMDsiIGQ9Ik0yMzguNTgzLDIwMS40NjdjMCw0Ljc5NS0yLjU0LDguNjg0LTUuNjc0LDguNjg0aC0xMDQuMjYKCQkJCWMtMy4xMzQsMC01LjY3NC0zLjg4OS01LjY3NC04LjY4NGw0LjcyOS0xOC40NTNjMC00Ljc5Niw1LjM3Ny04LjY4NCw4LjUxMS04LjY4NGg4OS4xMjhjMy4xMzUsMCw4LjUxMiwzLjg4OCw4LjUxMiw4LjY4NAoJCQkJTDIzOC41ODMsMjAxLjQ2N3oiLz4KCQkJPHBhdGggc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yOyIgZD0iTTI1MS4xNjYsMjQyLjg2MWMwLDIuOTMtMi43NzksNS4zMDYtNi4yMDUsNS4zMDZIMTE2LjcwNWMtMy40MjcsMC02LjIwNi0yLjM3Ni02LjIwNi01LjMwNgoJCQkJdi0yNy43MDljMC0yLjkzLDIuNzc5LTUuMzA2LDYuMjA2LTUuMzA2aDEyOC4yNTZjMy40MjYsMCw2LjIwNSwyLjM3Niw2LjIwNSw1LjMwNlYyNDIuODYxeiBNMTQzLjU4MywyMjEuNDA1CgkJCQljMC0yLjU5Ny0yLjY4Ny00LjcwMi02LTQuNzAyaC0xNy4yNWMtMy4zMTMsMC02LDIuMTA1LTYsNC43MDJ2NC44OTdjMCwyLjU5NiwyLjY4Nyw0LjcwMSw2LDQuNzAxaDE3LjI1YzMuMzEzLDAsNi0yLjEwNSw2LTQuNzAxCgkJCQlWMjIxLjQwNXogTTI0Ny4wODMsMjIxLjQwNWMwLTIuNTk3LTIuNjg3LTQuNzAyLTYtNC43MDJoLTE3LjI1Yy0zLjMxMywwLTYsMi4xMDUtNiw0LjcwMnY0Ljg5N2MwLDIuNTk2LDIuNjg3LDQuNzAxLDYsNC43MDEKCQkJCWgxNy4yNWMzLjMxMywwLDYtMi4xMDUsNi00LjcwMVYyMjEuNDA1eiBNMjA2LjgzMywyMjUuNTYxYzAtNS4wNS0yLjY4Ny05LjE0NC02LTkuMTQ0aC00MC41Yy0zLjMxMywwLTYsNC4wOTQtNiw5LjE0NHY1LjcxMwoJCQkJYzAsNS4wNSwyLjY4Nyw5LjE0NCw2LDkuMTQ0aDQwLjVjMy4zMTMsMCw2LTQuMDk0LDYtOS4xNDRWMjI1LjU2MXoiLz4KCQk8L2c+CgkJPGxpbmUgc3R5bGU9ImRpc3BsYXk6aW5saW5lO2ZpbGw6bm9uZTtzdHJva2U6Y3VycmVudENvbG9yO3N0cm9rZS13aWR0aDoxMDsiIHgxPSIxNDcuNTgzIiB5MT0iMjI0LjE2NyIgeDI9IjIxMy41ODMiIHkyPSIyMjQuMTY3Ii8+CgkJPGxpbmUgc3R5bGU9ImRpc3BsYXk6aW5saW5lO2ZpbGw6bm9uZTtzdHJva2U6Y3VycmVudENvbG9yO3N0cm9rZS13aWR0aDoxMDsiIHgxPSIxNDguNTgzIiB5MT0iMjM3LjE2NyIgeDI9IjIxNC41ODMiIHkyPSIyMzcuMTY3Ii8+Cgk8L2c+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yOyIgZD0iTTgwLjgzMywxMzAuNDE3YzAsNDUuMTQzLDAsOTAuMjg2LDAsMTM1LjQyOWMwLDAuMDUyLDAsMC4xMDMsMCwwLjE1NGMwLDYuNDQ4LDEwLDYuNDQ4LDEwLDAKCQkJCWMwLTQ1LjE0MywwLTkwLjI4NiwwLTEzNS40MjljMC0wLjA1MSwwLTAuMTAzLDAtMC4xNTRDOTAuODMzLDEyMy45NjgsODAuODMzLDEyMy45NjgsODAuODMzLDEzMC40MTdMODAuODMzLDEzMC40MTd6Ii8+CgkJPC9nPgoJPC9nPgoJPGc+CgkJPGc+CgkJCTxwYXRoIHN0eWxlPSJmaWxsOmN1cnJlbnRDb2xvcjsiIGQ9Ik0yNzAuODMzLDEzMC40MTdjMCw0NS4xNDMsMCw5MC4yODYsMCwxMzUuNDI5YzAsMC4wNTIsMCwwLjEwMywwLDAuMTU0YzAsNi40NDgsMTAsNi40NDgsMTAsMAoJCQkJYzAtNDUuMTQzLDAtOTAuMjg2LDAtMTM1LjQyOWMwLTAuMDUxLDAtMC4xMDMsMC0wLjE1NEMyODAuODMzLDEyMy45NjgsMjcwLjgzMywxMjMuOTY4LDI3MC44MzMsMTMwLjQxN0wyNzAuODMzLDEzMC40MTd6Ii8+CgkJPC9nPgoJPC9nPgoJPHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6Y3VycmVudENvbG9yO3N0cm9rZS13aWR0aDoxMDsiIGQ9Ik0yODYuODMzLDExNy41ODhjMCwzLjE3Mi0yLjU3Miw1Ljc0NS01Ljc0NSw1Ljc0NUg4MS4yODcKCQljLTMuMTczLDAtNS43NDUtMi41NzMtNS43NDUtNS43NDV2LTkuNTc1YzAtMy4xNzMsMi41NzItNS43NDUsNS43NDUtNS43NDVoMTk5LjgwMWMzLjE3MywwLDUuNzQ1LDIuNTcyLDUuNzQ1LDUuNzQ1VjExNy41ODh6Ii8+Cgk8Zz4KCQk8Zz4KCQkJPGc+CgkJCQk8cGF0aCBzdHlsZT0iZmlsbDpjdXJyZW50Q29sb3I7IiBkPSJNMjcyLjQ1OSwxNDUuNzM2Yy0wLjMzLDEuNjU4LDAuOTc5LDEuNDMxLTAuNjMxLDEuNDMxYy0xLjA3MywwLTIuMTQ2LDAtMy4yMiwwCgkJCQkJYy0zLjg2NSwwLTcuNzMsMC0xMS41OTYsMGMtMTIuOTM2LDAtMjUuODcsMC0zOC44MDYsMGMtMzEuNTQxLDAtNjMuMDgzLDAtOTQuNjI0LDBjLTkuOTQ5LDAtMTkuODk3LDAtMjkuODQ2LDAKCQkJCQljLTEuNjI1LDAtMy4yNSwwLTQuODc1LDBjMC45MTYsMCwwLjQ3MS03LjcwNywwLjQ3MS04LjYxNGMwLTAuOTM0LTIuODM5LDAuOTQ4LTAuNDM2LDAuOTQ4YzAuMjEyLDAsMC40MjUsMCwwLjYzOCwwCgkJCQkJYzIxLjEwMSwwLDQyLjIwMSwwLDYzLjMwMiwwYzI4LjQxNiwwLDU2LjgzMiwwLDg1LjI0NywwYzkuMzE3LDAsMTguNjM0LDAsMjcuOTUsMGMyLjA3NywwLDQuMTUzLDAsNi4yMjksMAoJCQkJCWMwLjE1MiwwLDAuMzA1LDAsMC40NTYsMGMyLjQwMywwLTAuMzg2LTAuMjU0LTAuMzg2LTEuMzU0YzAsMi44NCwwLDUuNjgsMCw4LjUyMWMwLDQuNTE0LDcsNC41MTQsNywwCgkJCQkJYzAtNi4xLDEuNDk4LTE0LjE2Ny02LjUyOC0xNC4xNjdjLTEuNjI1LDAtMy4yNSwwLTQuODc1LDBjLTkuOTQ5LDAtMTkuODk3LDAtMjkuODQ3LDBjLTMxLjU0MSwwLTYzLjA4MiwwLTk0LjYyMywwCgkJCQkJYy0xMi45MzYsMC0yNS44NzEsMC0zOC44MDYsMGMtNC44MiwwLTExLjQ2MiwxLjEzLTE2LjA1OS0wLjIxN2MtNy45MTUtMi4zMi02LjcwNSwxMi40NjctNS45MDIsMTYuNDk4CgkJCQkJYzAuNzcsMy44NjUsNC43MzIsNS4zODYsOC4xMzMsNS4zODZjOC4zNjQsMCwxNi43MjksMCwyNS4wOTMsMGM1Mi4wNzEsMCwxMDQuMTQxLDAsMTU2LjIxMSwwYzMuNTYzLDAsNi40MTUtMy4yNDksNy4wNzctNi41NjkKCQkJCQlDMjgwLjA4OCwxNDMuMTg5LDI3My4zNDEsMTQxLjMxMSwyNzIuNDU5LDE0NS43MzZ6Ii8+CgkJCTwvZz4KCQk8L2c+CgkJPGc+CgkJCTxnPgoJCQkJPHBhdGggc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yOyIgZD0iTTI3Mi40NTksMTYwLjQwMmMtMC4zMywxLjY1OCwwLjk3OSwxLjQzMS0wLjYzMSwxLjQzMWMtMS4wNzMsMC0yLjE0NiwwLTMuMjIsMAoJCQkJCWMtMy44NjUsMC03LjczLDAtMTEuNTk2LDBjLTEyLjkzNiwwLTI1Ljg3LDAtMzguODA2LDBjLTMxLjU0MSwwLTYzLjA4MywwLTk0LjYyNCwwYy05Ljk0OSwwLTE5Ljg5NywwLTI5Ljg0NiwwCgkJCQkJYy0xLjYyNSwwLTMuMjUsMC00Ljg3NSwwYzAuOTE2LDAsMC40NzEtNy43MDcsMC40NzEtOC42MTRjMC0wLjkzNC0yLjgzOSwwLjk0OC0wLjQzNiwwLjk0OGMwLjIxMiwwLDAuNDI1LDAsMC42MzgsMAoJCQkJCWMyMS4xMDEsMCw0Mi4yMDEsMCw2My4zMDIsMGMyOC40MTYsMCw1Ni44MzIsMCw4NS4yNDcsMGM5LjMxNywwLDE4LjYzNCwwLDI3Ljk1LDBjMi4wNzcsMCw0LjE1MywwLDYuMjI5LDAKCQkJCQljMC4xNTIsMCwwLjMwNSwwLDAuNDU2LDBjMi40MDMsMC0wLjM4Ni0wLjI1NC0wLjM4Ni0xLjM1NGMwLDIuODQsMCw1LjY4LDAsOC41MjFjMCw0LjUxNCw3LDQuNTE0LDcsMAoJCQkJCWMwLTYuMSwxLjQ5OC0xNC4xNjctNi41MjgtMTQuMTY3Yy0xLjYyNSwwLTMuMjUsMC00Ljg3NSwwYy05Ljk0OSwwLTE5Ljg5NywwLTI5Ljg0NywwYy0zMS41NDEsMC02My4wODIsMC05NC42MjMsMAoJCQkJCWMtMTIuOTM2LDAtMjUuODcxLDAtMzguODA2LDBjLTQuODIsMC0xMS40NjIsMS4xMy0xNi4wNTktMC4yMTdjLTcuOTE1LTIuMzItNi43MDUsMTIuNDY3LTUuOTAyLDE2LjQ5OAoJCQkJCWMwLjc3LDMuODY1LDQuNzMyLDUuMzg2LDguMTMzLDUuMzg2YzguMzY0LDAsMTYuNzI5LDAsMjUuMDkzLDBjNTIuMDcxLDAsMTA0LjE0MSwwLDE1Ni4yMTEsMGMzLjU2MywwLDYuNDE1LTMuMjQ5LDcuMDc3LTYuNTY5CgkJCQkJQzI4MC4wODgsMTU3Ljg1NSwyNzMuMzQxLDE1NS45NzgsMjcyLjQ1OSwxNjAuNDAyeiIvPgoJCQk8L2c+CgkJPC9nPgoJCTxnPgoJCQk8Zz4KCQkJCTxwYXRoIHN0eWxlPSJmaWxsOmN1cnJlbnRDb2xvcjsiIGQ9Ik0yNzIuNDU5LDE3NC43MzJjLTAuMzMsMS42NTgsMC45NzksMS40MzEtMC42MzEsMS40MzFjLTEuMDczLDAtMi4xNDYsMC0zLjIyLDAKCQkJCQljLTMuODY1LDAtNy43MywwLTExLjU5NiwwYy0xMi45MzYsMC0yNS44NywwLTM4LjgwNiwwYy0zMS41NDEsMC02My4wODMsMC05NC42MjQsMGMtOS45NDksMC0xOS44OTcsMC0yOS44NDYsMAoJCQkJCWMtMS42MjUsMC0zLjI1LDAtNC44NzUsMGMwLjkxNiwwLDAuNDcxLTcuNzA3LDAuNDcxLTguNjE0YzAtMC45MzQtMi44MzksMC45NDgtMC40MzYsMC45NDhjMC4yMTIsMCwwLjQyNSwwLDAuNjM4LDAKCQkJCQljMjEuMTAxLDAsNDIuMjAxLDAsNjMuMzAyLDBjMjguNDE2LDAsNTYuODMyLDAsODUuMjQ3LDBjOS4zMTcsMCwxOC42MzQsMCwyNy45NSwwYzIuMDc3LDAsNC4xNTMsMCw2LjIyOSwwCgkJCQkJYzAuMTUyLDAsMC4zMDUsMCwwLjQ1NiwwYzIuNDAzLDAtMC4zODYtMC4yNTQtMC4zODYtMS4zNTRjMCwyLjg0LDAsNS42OCwwLDguNTIxYzAsNC41MTQsNyw0LjUxNCw3LDAKCQkJCQljMC02LjEsMS40OTgtMTQuMTY3LTYuNTI4LTE0LjE2N2MtMS42MjUsMC0zLjI1LDAtNC44NzUsMGMtOS45NDksMC0xOS44OTcsMC0yOS44NDcsMGMtMzEuNTQxLDAtNjMuMDgyLDAtOTQuNjIzLDAKCQkJCQljLTEyLjkzNiwwLTI1Ljg3MSwwLTM4LjgwNiwwYy00LjgyLDAtMTEuNDYyLDEuMTMtMTYuMDU5LTAuMjE3Yy03LjkxNS0yLjMyLTYuNzA1LDEyLjQ2Ny01LjkwMiwxNi40OTgKCQkJCQljMC43NywzLjg2NSw0LjczMiw1LjM4Niw4LjEzMyw1LjM4NmM4LjM2NCwwLDE2LjcyOSwwLDI1LjA5MywwYzUyLjA3MSwwLDEwNC4xNDEsMCwxNTYuMjExLDBjMy41NjMsMCw2LjQxNS0zLjI0OCw3LjA3Ny02LjU2OQoJCQkJCUMyODAuMDg4LDE3Mi4xODUsMjczLjM0MSwxNzAuMzA3LDI3Mi40NTksMTc0LjczMnoiLz4KCQkJPC9nPgoJCTwvZz4KCQk8Zz4KCQkJPGc+CgkJCQk8cGF0aCBzdHlsZT0iZmlsbDpjdXJyZW50Q29sb3I7IiBkPSJNMjcyLjQ1OSwxODkuMzk4Yy0wLjMzLDEuNjU4LDAuOTc5LDEuNDMxLTAuNjMxLDEuNDMxYy0xLjA3MywwLTIuMTQ2LDAtMy4yMiwwCgkJCQkJYy0zLjg2NSwwLTcuNzMsMC0xMS41OTYsMGMtMTIuOTM2LDAtMjUuODcsMC0zOC44MDYsMGMtMzEuNTQxLDAtNjMuMDgzLDAtOTQuNjI0LDBjLTkuOTQ5LDAtMTkuODk3LDAtMjkuODQ2LDAKCQkJCQljLTEuNjI1LDAtMy4yNSwwLTQuODc1LDBjMC45MTYsMCwwLjQ3MS03LjMwOCwwLjQ3MS04LjE0NGMwLTEuOTk5LTIuNjEzLDAuNDc3LTAuNDcxLDAuNDc3YzAuMTgsMCwwLjM2MSwwLDAuNTQyLDAKCQkJCQljMjAuODI3LDAsNDEuNjU0LDAsNjIuNDgxLDBjMjguNzMzLDAsNTcuNDY3LDAsODYuMTk5LDBjOS40NTEsMCwxOC45MDEsMCwyOC4zNTMsMGMxLjk4MSwwLDMuOTY0LDAsNS45NDYsMAoJCQkJCWMwLjEyOSwwLDAuMjU4LDAsMC4zODcsMGMyLjQxMiwwLTAuNDM2LTEuNzcxLTAuNDM2LTEuMDJjMCwyLjcyOSwwLDUuNDU4LDAsOC4xODdjMCw0LjUxNCw3LDQuNTE0LDcsMAoJCQkJCWMwLTYuMDYzLDEuNTAxLTE0LjE2Ny02LjUwNy0xNC4xNjdjLTEuNTE4LDAtMy4wMzUsMC00LjU1MiwwYy05Ljc5OCwwLTE5LjU5NywwLTI5LjM5NSwwYy0zMS40OTksMC02Mi45OTksMC05NC40OTksMAoJCQkJCWMtMTguNTE0LDAtMzcuMDI4LDAtNTUuNTQyLDBjLTguMDA4LDAtNi41MDcsOC4xMDMtNi41MDcsMTQuMTY3YzAsNC40MTEsMy45OTIsNy41LDguMDYsNy41YzguMDI3LDAsMTYuMDU0LDAsMjQuMDgsMAoJCQkJCWM1Mi40NTIsMCwxMDQuOTAzLDAsMTU3LjM1NCwwYzMuNjk2LDAsNi42NzItMy4wMTIsNy4zODEtNi41NjlDMjgwLjA4NywxODYuODUyLDI3My4zNDEsMTg0Ljk3NCwyNzIuNDU5LDE4OS4zOTh6Ii8+CgkJCTwvZz4KCQk8L2c+CgkJPGc+CgkJCTxnPgoJCQkJPHBhdGggc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yOyIgZD0iTTI3Mi40NTksMjA0LjA2NWMtMC4zMywxLjY1OCwwLjk3OSwxLjQzMS0wLjYzMSwxLjQzMWMtMS4wNzMsMC0yLjE0NiwwLTMuMjIsMAoJCQkJCWMtMy44NjUsMC03LjczLDAtMTEuNTk2LDBjLTEyLjkzNiwwLTI1Ljg3LDAtMzguODA2LDBjLTMxLjU0MSwwLTYzLjA4MywwLTk0LjYyNCwwYy05Ljk0OSwwLTE5Ljg5NywwLTI5Ljg0NiwwCgkJCQkJYy0xLjYyNSwwLTMuMjUsMC00Ljg3NSwwYzAuOTE2LDAsMC40NzEtNy4zMDgsMC40NzEtOC4xNDRjMC0xLjk5OC0yLjYxMywwLjQ3Ny0wLjQ3MSwwLjQ3N2MwLjE4LDAsMC4zNjEsMCwwLjU0MiwwCgkJCQkJYzIwLjgyNywwLDQxLjY1NCwwLDYyLjQ4MSwwYzI4LjczMywwLDU3LjQ2NywwLDg2LjE5OSwwYzkuNDUxLDAsMTguOTAxLDAsMjguMzUzLDBjMS45ODEsMCwzLjk2NCwwLDUuOTQ2LDAKCQkJCQljMC4xMjksMCwwLjI1OCwwLDAuMzg3LDBjMi40MTIsMC0wLjQzNi0xLjc3MS0wLjQzNi0xLjAyYzAsMi43MjksMCw1LjQ1OCwwLDguMTg3YzAsNC41MTQsNyw0LjUxNCw3LDAKCQkJCQljMC02LjA2MywxLjUwMS0xNC4xNjctNi41MDctMTQuMTY3Yy0xLjUxOCwwLTMuMDM1LDAtNC41NTIsMGMtOS43OTgsMC0xOS41OTcsMC0yOS4zOTUsMGMtMzEuNDk5LDAtNjIuOTk5LDAtOTQuNDk5LDAKCQkJCQljLTE4LjUxNCwwLTM3LjAyOCwwLTU1LjU0MiwwYy04LjAwOCwwLTYuNTA3LDguMTA0LTYuNTA3LDE0LjE2N2MwLDQuNDEsMy45OTIsNy41LDguMDYsNy41YzguMDI3LDAsMTYuMDU0LDAsMjQuMDgsMAoJCQkJCWM1Mi40NTIsMCwxMDQuOTAzLDAsMTU3LjM1NCwwYzMuNjk2LDAsNi42NzItMy4wMTIsNy4zODEtNi41NjlDMjgwLjA4OCwyMDEuNTE5LDI3My4zNDEsMTk5LjY0MSwyNzIuNDU5LDIwNC4wNjV6Ii8+CgkJCTwvZz4KCQk8L2c+CgkJPGc+CgkJCTxnPgoJCQkJPHBhdGggc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yOyIgZD0iTTI3Mi40NTksMjE4LjQwM2MtMC4zMywxLjY1OCwwLjk3OSwxLjQzMS0wLjYzMSwxLjQzMWMtMS4wNzMsMC0yLjE0NiwwLTMuMjIsMAoJCQkJCWMtMy44NjUsMC03LjczLDAtMTEuNTk2LDBjLTEyLjkzNiwwLTI1Ljg3LDAtMzguODA2LDBjLTMxLjU0MSwwLTYzLjA4MywwLTk0LjYyNCwwYy05Ljk0OSwwLTE5Ljg5NywwLTI5Ljg0NiwwCgkJCQkJYy0xLjYyNSwwLTMuMjUsMC00Ljg3NSwwYzAuOTE2LDAsMC40NzEtNy4zMDgsMC40NzEtOC4xNDRjMC0xLjk5OC0yLjYxMywwLjQ3Ny0wLjQ3MSwwLjQ3N2MwLjE4LDAsMC4zNjEsMCwwLjU0MiwwCgkJCQkJYzIwLjgyNywwLDQxLjY1NCwwLDYyLjQ4MSwwYzI4LjczMywwLDU3LjQ2NywwLDg2LjE5OSwwYzkuNDUxLDAsMTguOTAxLDAsMjguMzUzLDBjMS45ODEsMCwzLjk2NCwwLDUuOTQ2LDAKCQkJCQljMC4xMjksMCwwLjI1OCwwLDAuMzg3LDBjMi40MTIsMC0wLjQzNi0xLjc3MS0wLjQzNi0xLjAyYzAsMi43MjksMCw1LjQ1OCwwLDguMTg3YzAsNC41MTQsNyw0LjUxNCw3LDAKCQkJCQljMC02LjA2MywxLjUwMS0xNC4xNjctNi41MDctMTQuMTY3Yy0xLjUxOCwwLTMuMDM1LDAtNC41NTIsMGMtOS43OTgsMC0xOS41OTcsMC0yOS4zOTUsMGMtMzEuNDk5LDAtNjIuOTk5LDAtOTQuNDk5LDAKCQkJCQljLTE4LjUxNCwwLTM3LjAyOCwwLTU1LjU0MiwwYy04LjAwOCwwLTYuNTA3LDguMTA0LTYuNTA3LDE0LjE2N2MwLDQuNDEsMy45OTIsNy41LDguMDYsNy41YzguMDI3LDAsMTYuMDU0LDAsMjQuMDgsMAoJCQkJCWM1Mi40NTIsMCwxMDQuOTAzLDAsMTU3LjM1NCwwYzMuNjk2LDAsNi42NzItMy4wMTIsNy4zODEtNi41NjlDMjgwLjA4OCwyMTUuODU2LDI3My4zNDEsMjEzLjk3OSwyNzIuNDU5LDIxOC40MDN6Ii8+CgkJCTwvZz4KCQk8L2c+CgkJPGc+CgkJCTxnPgoJCQkJPHBhdGggc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yOyIgZD0iTTI3Mi40NTksMjMzLjA2OWMtMC4zMywxLjY1OCwwLjk3OSwxLjQzMS0wLjYzMSwxLjQzMWMtMS4wNzMsMC0yLjE0NiwwLTMuMjIsMAoJCQkJCWMtMy44NjUsMC03LjczLDAtMTEuNTk2LDBjLTEyLjkzNiwwLTI1Ljg3LDAtMzguODA2LDBjLTMxLjU0MSwwLTYzLjA4MywwLTk0LjYyNCwwYy05Ljk0OSwwLTE5Ljg5NywwLTI5Ljg0NiwwCgkJCQkJYy0xLjYyNSwwLTMuMjUsMC00Ljg3NSwwYzAuOTE2LDAsMC40NzEtNy43MDYsMC40NzEtOC42MTRjMC0wLjkzMy0yLjgzOSwwLjk0OC0wLjQzNiwwLjk0OGMwLjIxMiwwLDAuNDI1LDAsMC42MzgsMAoJCQkJCWMyMS4xMDEsMCw0Mi4yMDEsMCw2My4zMDIsMGMyOC40MTYsMCw1Ni44MzIsMCw4NS4yNDcsMGM5LjMxNywwLDE4LjYzNCwwLDI3Ljk1LDBjMi4wNzcsMCw0LjE1MywwLDYuMjI5LDAKCQkJCQljMC4xNTIsMCwwLjMwNSwwLDAuNDU2LDBjMi40MDMsMC0wLjM4Ni0wLjI1NC0wLjM4Ni0xLjM1NGMwLDIuODQxLDAsNS42ODEsMCw4LjUyMWMwLDQuNTE0LDcsNC41MTQsNywwCgkJCQkJYzAtNi4xLDEuNDk4LTE0LjE2Ni02LjUyOC0xNC4xNjZjLTEuNjI1LDAtMy4yNSwwLTQuODc1LDBjLTkuOTQ5LDAtMTkuODk3LDAtMjkuODQ3LDBjLTMxLjU0MSwwLTYzLjA4MiwwLTk0LjYyMywwCgkJCQkJYy0xMi45MzYsMC0yNS44NzEsMC0zOC44MDYsMGMtNC44MiwwLTExLjQ2MywxLjEzLTE2LjA1OS0wLjIxOGMtNy45MTQtMi4zMi02LjcwNSwxMi40NjgtNS45MDIsMTYuNDk3CgkJCQkJYzAuNzcsMy44NjUsNC43MzEsNS4zODcsOC4xMzMsNS4zODdjOC4zNjQsMCwxNi43MjksMCwyNS4wOTMsMGM1Mi4wNzEsMCwxMDQuMTQxLDAsMTU2LjIxMSwwYzMuNTYzLDAsNi40MTUtMy4yNDksNy4wNzctNi41NjkKCQkJCQlDMjgwLjA4OCwyMzAuNTIyLDI3My4zNDEsMjI4LjY0NSwyNzIuNDU5LDIzMy4wNjl6Ii8+CgkJCTwvZz4KCQk8L2c+CgkJPGc+CgkJCTxnPgoJCQkJPHBhdGggc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yOyIgZD0iTTI3Mi40NTksMjQ3LjczNWMtMC4zMywxLjY1OCwwLjk3OSwxLjQzMS0wLjYzMSwxLjQzMWMtMS4wNzMsMC0yLjE0NiwwLTMuMjIsMAoJCQkJCWMtMy44NjUsMC03LjczLDAtMTEuNTk2LDBjLTEyLjkzNiwwLTI1Ljg3LDAtMzguODA2LDBjLTMxLjU0MSwwLTYzLjA4MywwLTk0LjYyNCwwYy05Ljk0OSwwLTE5Ljg5NywwLTI5Ljg0NiwwCgkJCQkJYy0xLjYyNSwwLTMuMjUsMC00Ljg3NSwwYzAuOTE2LDAsMC40NzEtNy43MDYsMC40NzEtOC42MTRjMC0wLjkzMy0yLjgzOSwwLjk0OC0wLjQzNiwwLjk0OGMwLjIxMiwwLDAuNDI1LDAsMC42MzgsMAoJCQkJCWMyMS4xMDEsMCw0Mi4yMDEsMCw2My4zMDIsMGMyOC40MTYsMCw1Ni44MzIsMCw4NS4yNDcsMGM5LjMxNywwLDE4LjYzNCwwLDI3Ljk1LDBjMi4wNzcsMCw0LjE1MywwLDYuMjI5LDAKCQkJCQljMC4xNTIsMCwwLjMwNSwwLDAuNDU2LDBjMi40MDMsMC0wLjM4Ni0wLjI1NC0wLjM4Ni0xLjM1NGMwLDIuODQxLDAsNS42ODEsMCw4LjUyMWMwLDQuNTE0LDcsNC41MTQsNywwCgkJCQkJYzAtNi4xLDEuNDk4LTE0LjE2Ni02LjUyOC0xNC4xNjZjLTEuNjI1LDAtMy4yNSwwLTQuODc1LDBjLTkuOTQ5LDAtMTkuODk3LDAtMjkuODQ3LDBjLTMxLjU0MSwwLTYzLjA4MiwwLTk0LjYyMywwCgkJCQkJYy0xMi45MzYsMC0yNS44NzEsMC0zOC44MDYsMGMtNC44MjEsMC0xMS40NjIsMS4xMy0xNi4wNTktMC4yMTdjLTcuOTE1LTIuMzItNi43MDUsMTIuNDY3LTUuOTAyLDE2LjQ5NwoJCQkJCWMwLjc3LDMuODY0LDQuNzMyLDUuMzg2LDguMTMzLDUuMzg2YzguMzY0LDAsMTYuNzI5LDAsMjUuMDkzLDBjNTIuMDcxLDAsMTA0LjE0MSwwLDE1Ni4yMTEsMGMzLjU2MywwLDYuNDE1LTMuMjQ4LDcuMDc3LTYuNTY5CgkJCQkJQzI4MC4wODcsMjQ1LjE4OCwyNzMuMzQxLDI0My4zMTEsMjcyLjQ1OSwyNDcuNzM1eiIvPgoJCQk8L2c+CgkJPC9nPgoJCTxnPgoJCQk8Zz4KCQkJCTxwYXRoIHN0eWxlPSJmaWxsOmN1cnJlbnRDb2xvcjsiIGQ9Ik0yNzIuNDU5LDI2Mi4zMmMtMC4zMywxLjY1OCwwLjk3OSwxLjQzMS0wLjYzMSwxLjQzMWMtMS4wNzMsMC0yLjE0NiwwLTMuMjIsMAoJCQkJCWMtMy44NjUsMC03LjczLDAtMTEuNTk2LDBjLTEyLjkzNiwwLTI1Ljg3LDAtMzguODA2LDBjLTMxLjU0MSwwLTYzLjA4MywwLTk0LjYyNCwwYy05Ljk0OSwwLTE5Ljg5NywwLTI5Ljg0NiwwCgkJCQkJYy0xLjYyNSwwLTMuMjUsMC00Ljg3NSwwYzAuOTE2LDAsMC40NzEtNy4zMDgsMC40NzEtOC4xNDRjMC0xLjk5OC0yLjYxMywwLjQ3Ny0wLjQ3MSwwLjQ3N2MwLjE4LDAsMC4zNjEsMCwwLjU0MiwwCgkJCQkJYzIwLjgyNywwLDQxLjY1NCwwLDYyLjQ4MSwwYzI4LjczMywwLDU3LjQ2NywwLDg2LjE5OSwwYzkuNDUxLDAsMTguOTAxLDAsMjguMzUzLDBjMS45ODEsMCwzLjk2NCwwLDUuOTQ2LDAKCQkJCQljMC4xMjksMCwwLjI1OCwwLDAuMzg3LDBjMi40MTIsMC0wLjQzNi0xLjc3MS0wLjQzNi0xLjAyYzAsMi43MjksMCw1LjQ1OCwwLDguMTg3YzAsNC41MTQsNyw0LjUxNCw3LDAKCQkJCQljMC02LjA2MywxLjUwMS0xNC4xNjctNi41MDctMTQuMTY3Yy0xLjUxOCwwLTMuMDM1LDAtNC41NTIsMGMtOS43OTgsMC0xOS41OTcsMC0yOS4zOTUsMGMtMzEuNDk5LDAtNjIuOTk5LDAtOTQuNDk5LDAKCQkJCQljLTE4LjUxNCwwLTM3LjAyOCwwLTU1LjU0MiwwYy04LjAwOCwwLTYuNTA3LDguMTA0LTYuNTA3LDE0LjE2N2MwLDQuNDExLDMuOTkyLDcuNSw4LjA2LDcuNWM4LjAyNywwLDE2LjA1NCwwLDI0LjA4LDAKCQkJCQljNTIuNDUyLDAsMTA0LjkwMywwLDE1Ny4zNTQsMGMzLjY5NiwwLDYuNjcyLTMuMDEyLDcuMzgxLTYuNTY5QzI4MC4wODgsMjU5Ljc3MywyNzMuMzQxLDI1Ny44OTYsMjcyLjQ1OSwyNjIuMzJ6Ii8+CgkJCTwvZz4KCQk8L2c+CgkJPGc+CgkJCTxnPgoJCQkJPHBhdGggc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yOyIgZD0iTTg1LjgzMywxMzkuNWM0OS43OTMsMCw5OS41ODYsMCwxNDkuMzc5LDBjMTMuNTQxLDAsMjcuMDgxLDAsNDAuNjIxLDBjNC41MTQsMCw0LjUxNC03LDAtNwoJCQkJCWMtNDkuNzkzLDAtOTkuNTg2LDAtMTQ5LjM3OSwwYy0xMy41NCwwLTI3LjA4MSwwLTQwLjYyMSwwQzgxLjMxOSwxMzIuNSw4MS4zMTksMTM5LjUsODUuODMzLDEzOS41TDg1LjgzMywxMzkuNXoiLz4KCQkJPC9nPgoJCTwvZz4KCQk8Zz4KCQkJPGc+CgkJCQk8cGF0aCBzdHlsZT0iZmlsbDpjdXJyZW50Q29sb3I7IiBkPSJNMjM4LjIwOCwyMzIuMTY3YzMuNTgzLDAsNy4xNjcsMCwxMC43NSwwYzEuOTM1LDAsMS45MzUtMywwLTNjLTMuNTgzLDAtNy4xNjcsMC0xMC43NSwwCgkJCQkJQzIzNi4yNzMsMjI5LjE2NywyMzYuMjczLDIzMi4xNjcsMjM4LjIwOCwyMzIuMTY3TDIzOC4yMDgsMjMyLjE2N3oiLz4KCQkJPC9nPgoJCTwvZz4KCQk8Zz4KCQkJPGc+CgkJCQk8cGF0aCBzdHlsZT0iZmlsbDpjdXJyZW50Q29sb3I7IiBkPSJNMjUxLjIwOCwyMzQuMDY5Yy0wLjEyMiwwLjYwNSwwLjI2MSwwLjQzMS0xLjAwMywwLjQzMWMtMS4xNjQsMC0yLjMyOCwwLTMuNDkyLDAKCQkJCQljLTMuNDY0LDAtNi45MjgsMC0xMC4zOTIsMGMtMS4yNjcsMC0yLjUzMywwLTMuOCwwYy0xLjQzNCwwLTEuNDM4LTAuMjQtMS40MzgsMC4zNTRjMC0yLjc5MiwwLTUuNTgzLDAtOC4zNzUKCQkJCQljMCwwLjU0OC0wLjQ2MSwwLjM1NCwwLjg3OCwwLjM1NGMxLjQ1MywwLDIuOTA3LDAsNC4zNiwwYzMuNDY0LDAsNi45MjgsMCwxMC4zOTIsMGMxLjE2NCwwLDIuMzI4LDAsMy40OTIsMAoJCQkJCWMwLjM4MSwwLDAuNzYyLDAsMS4xNDMsMGMwLjI2NywwLTAuMjY1LTAuODE2LTAuMjY1LDAuMDUyYzAsMi43MDUsMCw1LjQwOSwwLDguMTE0YzAsNC41MTQsNyw0LjUxNCw3LDAKCQkJCQljMC0zLjA1NiwxLjEyMi04Ljg3OC0wLjcxNC0xMS42MDFjLTIuNTI0LTMuNzQ1LTUuODI2LTMuNTY1LTkuODM1LTMuNTY1Yy00Ljc5MiwwLTkuNTg0LDAtMTQuMzc2LDAKCQkJCQljLTQuMTQ2LDAtNy45OTEsMC44MTctOC45NSw1LjU2OWMtMC43MTIsMy41MjctMC40NzYsOC4xNjksMC4yMzUsMTEuNjk0YzAuODg5LDQuMzk4LDUuOTg1LDQuNDAyLDkuNDIxLDQuNDAyCgkJCQkJYzQuODEzLDAsOS42MjUsMCwxNC40MzgsMGM0LjMzMywwLDguNjE4LTAuNDI5LDkuNjU2LTUuNTY5QzI1OC44NDgsMjMxLjUyMywyNTIuMTAxLDIyOS42NDYsMjUxLjIwOCwyMzQuMDY5eiIvPgoJCQk8L2c+CgkJPC9nPgoJPC9nPgo8L2c+Cjwvc3ZnPgo=",
                  "iconTrue1": null,
                  "image1": null,
                  "imageTrue1": null,
                  "html1": null,
                  "htmlTrue1": null,
                  "viewInWidget1": null,
                  "viewInWidgetTrue1": null,
                  "contentBlinkInterval1": 0,
                  "contentColor1": null,
                  "contentColorTrue1": null,
                  "background1": "rgb(69,86,24)",
                  "backgroundTrue1": "rgb(69,86,24)",
                  "textColor1": null,
                  "textColorTrue1": null,
                  "borderColor1": null,
                  "borderColorTrue1": null,
                  "outerShadowColor1": "rgb(0,0,0)",
                  "outerShadowColorTrue1": "rgb(0,0,0)",
                  "innerShadowColor1": null,
                  "innerShadowColorTrue1": null,
                  "contentSize1": 79,
                  "g_countStates-1": true,
                  "undefined2": null,
                  "compareBy2": "default",
                  "oid2": null,
                  "comparisonOperator2": "===",
                  "value2": "open",
                  "view2": null,
                  "text2": "Tor öffnen",
                  "textTrue2": null,
                  "icon2": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzYxcHgiCgkgaGVpZ2h0PSIzNjFweCIgdmlld0JveD0iMCAwIDM2MSAzNjEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDM2MSAzNjE7Ij4KPGc+Cgk8ZyBzdHlsZT0iZGlzcGxheTpub25lOyI+CgkJPGcgc3R5bGU9ImRpc3BsYXk6aW5saW5lOyI+CgkJCTxwYXRoIHN0eWxlPSJmaWxsOmN1cnJlbnRDb2xvcjsiIGQ9Ik0xMzguODMzLDI2MC4xNjdjMCwzLjMxMy0yLjY4Nyw2LTYsNmgtMTEuNWMtMy4zMTMsMC02LTIuNjg3LTYtNnYtMTFjMC0zLjMxMywyLjY4Ny02LDYtNmgxMS41CgkJCQljMy4zMTMsMCw2LDIuNjg3LDYsNlYyNjAuMTY3eiIvPgoJCQk8cGF0aCBzdHlsZT0iZmlsbDpjdXJyZW50Q29sb3I7IiBkPSJNMjQ2LjgzMywyNjAuMTY3YzAsMy4zMTMtMi42ODcsNi02LDZoLTExLjVjLTMuMzEzLDAtNi0yLjY4Ny02LTZ2LTExYzAtMy4zMTMsMi42ODctNiw2LTZoMTEuNQoJCQkJYzMuMzEzLDAsNiwyLjY4Nyw2LDZWMjYwLjE2N3oiLz4KCQkJPHBhdGggc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yOyIgZD0iTTIzMi45MDksMjE1LjE1aC0xMDQuMjZjLTUuOTg1LDAtMTAuNjc0LTYuMDExLTEwLjY3NC0xMy42ODR2LTAuNjMxbDQuNzUyLTE4LjU0NQoJCQkJYzAuNDYzLTcuMDU1LDcuNjA1LTEyLjk2MSwxMy40ODctMTIuOTYxaDg5LjEyOGM1Ljg4MiwwLDEzLjAyNCw1LjkwNiwxMy40ODcsMTIuOTYxbDQuNzUzLDE4LjU0NXYwLjYzMQoJCQkJQzI0My41ODMsMjA5LjE0LDIzOC44OTUsMjE1LjE1LDIzMi45MDksMjE1LjE1eiBNMTI5LjAyOCwyMDUuMTVoMTAzLjUwM2MwLjM0LTAuMzc2LDAuOTI0LTEuNDM2LDEuMDMzLTMuMTIzbC00LjcxLTE4LjM4MwoJCQkJdi0wLjYzMWMwLTEuNTcyLTIuNDkzLTMuNTQ2LTMuNTk1LTMuNjg4bC04OS4wNDUsMC4wMDNjLTEuMDE4LDAuMTM5LTMuNTExLDIuMTEzLTMuNTExLDMuNjg0djAuNjMxbC00LjcxLDE4LjM4MwoJCQkJQzEyOC4xMDMsMjAzLjcxNSwxMjguNjg4LDIwNC43NzQsMTI5LjAyOCwyMDUuMTV6Ii8+CgkJCTxwYXRoIHN0eWxlPSJmaWxsOmN1cnJlbnRDb2xvcjsiIGQ9Ik0yNTEuMTY2LDI0Mi44NjFjMCwyLjkzLTIuNzc5LDUuMzA2LTYuMjA1LDUuMzA2SDExNi43MDVjLTMuNDI3LDAtNi4yMDYtMi4zNzYtNi4yMDYtNS4zMDYKCQkJCXYtMjcuNzA5YzAtMi45MywyLjc3OS01LjMwNiw2LjIwNi01LjMwNmgxMjguMjU2YzMuNDI2LDAsNi4yMDUsMi4zNzYsNi4yMDUsNS4zMDZWMjQyLjg2MXogTTE0My41ODMsMjIxLjQwNQoJCQkJYzAtMi41OTctMi42ODctNC43MDItNi00LjcwMmgtMTcuMjVjLTMuMzEzLDAtNiwyLjEwNS02LDQuNzAydjQuODk3YzAsMi41OTYsMi42ODcsNC43MDEsNiw0LjcwMWgxNy4yNWMzLjMxMywwLDYtMi4xMDUsNi00LjcwMQoJCQkJVjIyMS40MDV6IE0yNDcuMDgzLDIyMS40MDVjMC0yLjU5Ny0yLjY4Ny00LjcwMi02LTQuNzAyaC0xNy4yNWMtMy4zMTMsMC02LDIuMTA1LTYsNC43MDJ2NC44OTdjMCwyLjU5NiwyLjY4Nyw0LjcwMSw2LDQuNzAxCgkJCQloMTcuMjVjMy4zMTMsMCw2LTIuMTA1LDYtNC43MDFWMjIxLjQwNXogTTIwNi44MzMsMjI1LjU2MWMwLTUuMDUtMi42ODctOS4xNDQtNi05LjE0NGgtNDAuNWMtMy4zMTMsMC02LDQuMDk0LTYsOS4xNDR2NS43MTMKCQkJCWMwLDUuMDUsMi42ODcsOS4xNDQsNiw5LjE0NGg0MC41YzMuMzEzLDAsNi00LjA5NCw2LTkuMTQ0VjIyNS41NjF6Ii8+CgkJPC9nPgoJCTxyZWN0IHg9IjE0Ny41ODMiIHk9IjIxOS4xNjciIHN0eWxlPSJkaXNwbGF5OmlubGluZTtmaWxsOmN1cnJlbnRDb2xvcjsiIHdpZHRoPSI2NiIgaGVpZ2h0PSIxMCIvPgoJCTxyZWN0IHg9IjE0OC41ODMiIHk9IjIzMi4xNjciIHN0eWxlPSJkaXNwbGF5OmlubGluZTtmaWxsOmN1cnJlbnRDb2xvcjsiIHdpZHRoPSI2NiIgaGVpZ2h0PSIxMCIvPgoJPC9nPgoJPGc+CgkJPGc+CgkJCTxnPgoJCQkJPHBhdGggc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yOyIgZD0iTTgwLjgzMywxMzAuNDE3YzAsNDUuMTQzLDAsOTAuMjg2LDAsMTM1LjQyOWMwLDAuMDUyLDAsMC4xMDMsMCwwLjE1NGMwLDYuNDQ4LDEwLDYuNDQ4LDEwLDAKCQkJCQljMC00NS4xNDMsMC05MC4yODYsMC0xMzUuNDI5YzAtMC4wNTEsMC0wLjEwMywwLTAuMTU0QzkwLjgzMywxMjMuOTY4LDgwLjgzMywxMjMuOTY4LDgwLjgzMywxMzAuNDE3TDgwLjgzMywxMzAuNDE3eiIvPgoJCQk8L2c+CgkJPC9nPgoJCTxnPgoJCQk8Zz4KCQkJCTxwYXRoIHN0eWxlPSJmaWxsOmN1cnJlbnRDb2xvcjsiIGQ9Ik0yNzAuODMzLDEzMC40MTdjMCw0NS4xNDMsMCw5MC4yODYsMCwxMzUuNDI5YzAsMC4wNTIsMCwwLjEwMywwLDAuMTU0YzAsNi40NDgsMTAsNi40NDgsMTAsMAoJCQkJCWMwLTQ1LjE0MywwLTkwLjI4NiwwLTEzNS40MjljMC0wLjA1MSwwLTAuMTAzLDAtMC4xNTRDMjgwLjgzMywxMjMuOTY4LDI3MC44MzMsMTIzLjk2OCwyNzAuODMzLDEzMC40MTdMMjcwLjgzMywxMzAuNDE3eiIvPgoJCQk8L2c+CgkJPC9nPgoJCTxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOmN1cnJlbnRDb2xvcjtzdHJva2Utd2lkdGg6MTA7IiBkPSJNMjg2LjgzMywxMTcuNTg4YzAsMy4xNzItMi41NzIsNS43NDUtNS43NDUsNS43NDVIODEuMjg3CgkJCWMtMy4xNzMsMC01Ljc0NS0yLjU3My01Ljc0NS01Ljc0NXYtOS41NzVjMC0zLjE3MywyLjU3Mi01Ljc0NSw1Ljc0NS01Ljc0NWgxOTkuODAxYzMuMTczLDAsNS43NDUsMi41NzIsNS43NDUsNS43NDVWMTE3LjU4OHoiLz4KCTwvZz4KCTxnPgoJCTxnPgoJCQk8cGF0aCBzdHlsZT0iZmlsbDpjdXJyZW50Q29sb3I7IiBkPSJNMjcyLjQ1OSwxMzEuNzQxYy0wLjExMywwLjU2LDAuNjA0LDAuNDMxLTAuNjMxLDAuNDMxYy0xLjA3MywwLTIuMTQ2LDAtMy4yMiwwCgkJCQljLTMuODY1LDAtNy43MywwLTExLjU5NiwwYy0xMi45MzYsMC0yNS44NywwLTM4LjgwNiwwYy0zMS41NDEsMC02My4wODMsMC05NC42MjQsMGMtOS45NDksMC0xOS44OTcsMC0yOS44NDYsMAoJCQkJYy0xLjYyNSwwLTMuMjUsMC00Ljg3NSwwYzAuODU0LDAsMC43NTUtNC42NjcsMC4wMzYtNC42NjdjMC41NjksMCwxLjEzOCwwLDEuNzA3LDBjMjIuNjY5LDAsNDUuMzM4LDAsNjguMDA4LDAKCQkJCWMyNi40OSwwLDUyLjk4MSwwLDc5LjQ3MiwwYzguODk0LDAsMTcuNzg2LDAsMjYuNjgsMGMyLjIzNSwwLDQuNDcyLDAsNi43MDgsMGMwLjQzMywwLDAuODY1LDAsMS4yOTgsMAoJCQkJYy0wLjYyMywwLTAuNDM2LTAuMzE5LTAuNDM2LDAuOTY5YzAsMS4zOTksMCwyLjc5OCwwLDQuMTk3YzAsNC41MTQsNyw0LjUxNCw3LDBjMC01LjA3OCwwLjM1NS0xMi4xNjctNi43NTUtMTIuMTY3CgkJCQljLTIuMDQ4LDAtNC4wOTYsMC02LjE0MywwYy0xMC41MzQsMC0yMS4wNjgsMC0zMS42MDIsMGMtMzEuNjczLDAtNjMuMzQ2LDAtOTUuMDE5LDBjLTEyLjQ4MiwwLTI0Ljk2NCwwLTM3LjQ0NSwwCgkJCQljLTQuODIsMC0xMy4xMjgtMS41NDEtMTcuNDI1LDEuMzU2Yy01LjM3NSwzLjYyNS0zLjUxLDE3LjMxLDMuODg4LDE3LjMxYzEuNDA5LDAsMi44MTcsMCw0LjIyNiwwYzkuNjQ2LDAsMTkuMjkyLDAsMjguOTM3LDAKCQkJCWM1MC4yNywwLDEwMC41MzksMCwxNTAuODEsMGMzLjM1MSwwLDUuNzcyLTIuNDQ4LDYuNDAzLTUuNTY5QzI4MC4wOTksMTI5LjE5NSwyNzMuMzUzLDEyNy4zMTgsMjcyLjQ1OSwxMzEuNzQxeiIvPgoJCTwvZz4KCTwvZz4KPC9nPgo8L3N2Zz4K",
                  "iconTrue2": null,
                  "image2": null,
                  "imageTrue2": null,
                  "html2": null,
                  "htmlTrue2": null,
                  "viewInWidget2": null,
                  "viewInWidgetTrue2": null,
                  "contentBlinkInterval2": 0,
                  "contentColor2": null,
                  "contentColorTrue2": null,
                  "background2": "rgb(69,86,24)",
                  "backgroundTrue2": "rgb(69,86,24)",
                  "textColor2": null,
                  "textColorTrue2": null,
                  "borderColor2": null,
                  "borderColorTrue2": null,
                  "outerShadowColor2": "rgb(0,0,0)",
                  "outerShadowColorTrue2": "rgb(0,0,0)",
                  "innerShadowColor2": null,
                  "innerShadowColorTrue2": null,
                  "contentSize2": 87,
                  "g_countStates-2": true
                },
                "style": {
                  "bindings": [],
                  "left": 11,
                  "top": 20,
                  "width": "254px",
                  "height": "144px",
                  "position": "absolute",
                  "overflow": "visible"
                },
                "widgetSet": "vis-2-widgets-inventwo",
                "_id": "i000001"
              }
            ]
            
            OliverIOO Offline
            OliverIOO Offline
            OliverIO
            schrieb am zuletzt editiert von
            #11

            @longbow

            tatsächlich.
            dann hat es aber mit dem browser im speziellen zu tun
            wie gesagt die renderengine ist bei allen browsern in ios immer die gleiche.
            leider ist ios ohne mac nicht zu debuggen.

            iventwo könnte ggfs temporär mal die console ausgabe in einen html bereich umleiten, um zu sehen was auf dem gerät für fehlermeldungen auftreten.

            auch scheint es mit dieser konfiguration zu tun zu haben, einen normalen knopf zeigt es auch in safari normal an. auch im editor wird dein widget normal angezeigt.

            Meine Adapter und Widgets
            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
            Links im Profil

            1 Antwort Letzte Antwort
            0
            • skvarelS Offline
              skvarelS Offline
              skvarel
              Developer
              schrieb am zuletzt editiert von
              #12

              @jkvarel .. kannst du dir das Thema mal bitte angucken

              #TeamInventwo
              • vis-inventwo & vis-2-widgets-inventwo
              • vis-icontwo & vis-2-widgets-icontwo

              LongbowL 1 Antwort Letzte Antwort
              0
              • LongbowL Offline
                LongbowL Offline
                Longbow
                schrieb am zuletzt editiert von
                #13

                Guten Morgen,

                es ist wirklich so, das es mal geht mal geht es nicht. Der Fehler das Problem kann nicht respondiert werden.
                Es muss was mit den Browser zu haben, das die was von dem Widget falsch verarbeiten. Habe es mit und ohne VPN probiert, mit und ohne Wlan im netz und von Extern. Über ioborker Pro etc.

                Mal ist es so, mal ist es nicht so. Keine Ahnung was und wo wir machen sollen und können.

                1 Antwort Letzte Antwort
                0
                • skvarelS skvarel

                  @jkvarel .. kannst du dir das Thema mal bitte angucken

                  LongbowL Offline
                  LongbowL Offline
                  Longbow
                  schrieb am zuletzt editiert von
                  #14

                  @skvarel @jkalver danke Euch ;-)

                  skvarelS 1 Antwort Letzte Antwort
                  1
                  • LongbowL Longbow

                    @skvarel @jkalver danke Euch ;-)

                    skvarelS Offline
                    skvarelS Offline
                    skvarel
                    Developer
                    schrieb am zuletzt editiert von
                    #15

                    @longbow sagte in Fehler VIS-2 Widget Inventwo:

                    @skvarel @jkalver danke Euch ;-)

                    Ich kann da leider nicht viel helfen, außer meinem Bengel auf die Füße zu treten ;)

                    Wir haben leider auch keine Apple Geräte im Haushalt und können das nicht wirklich nachstellen.

                    #TeamInventwo
                    • vis-inventwo & vis-2-widgets-inventwo
                    • vis-icontwo & vis-2-widgets-icontwo

                    OliverIOO 1 Antwort Letzte Antwort
                    0
                    • skvarelS skvarel

                      @longbow sagte in Fehler VIS-2 Widget Inventwo:

                      @skvarel @jkalver danke Euch ;-)

                      Ich kann da leider nicht viel helfen, außer meinem Bengel auf die Füße zu treten ;)

                      Wir haben leider auch keine Apple Geräte im Haushalt und können das nicht wirklich nachstellen.

                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      schrieb am zuletzt editiert von OliverIO
                      #16

                      @skvarel

                      du könntest eine alphaversion machen wo du ungefähr den folgenden code einbaust. dieser leitet die ausgaben von console.log/warn/error in ein html element um.

                      das kann man sogar direkt in vis2 ausprobieren. allerdings klinkt sich der code wahrscheinlich bzu spät ein, so das der fehler bereits passiert ist und daher nicht mehr erfasst wird.
                      in der alpha version müsste man dafür sorgen, das das so früh als möglich ausgeführt wird.
                      also am besten in die index.html mit einbauen.
                      https://github.com/inventwo/ioBroker.vis-2-widgets-inventwo/blob/main/src-widgets/index.html

                      in vis2 kann man das wie folgt mal probieren:

                      html widget mit namen mylog anlegen
                      ccaf5389-88f3-4e06-9113-78f8938ad425-image.png

                      hier zum importieren mit testcode

                      [
                       {
                         "tpl": "tplHtml",
                         "data": {
                           "bindings": [],
                           "name": null,
                           "comment": null,
                           "class": "mylog",
                           "filterkey": null,
                           "multi-views": null,
                           "locked": null,
                           "g_fixed": true,
                           "html": "<script>\r\n    console.log(\"log test\");\r\n    console.warn(\"warn test\");\r\n    console.error(\"error test\");\r\n    console.debug(\"debug test\");\r\n</script>",
                           "refreshInterval": null,
                           "g_common": true
                         },
                         "style": {
                           "bindings": [],
                           "left": 28,
                           "top": 70,
                           "width": "711px",
                           "height": "331px"
                         },
                         "widgetSet": "basic",
                         "_id": "i000001"
                       }
                      ]
                      

                      css im css reiter eintragen

                         .mylog {
                           font-family: monospace;
                           white-space: pre-wrap;
                           background: #222;
                           color: #eee;
                           padding: 10px;
                           border-radius: 6px;
                           max-height: 300px;
                           overflow-y: auto;
                           margin: 20px;
                         }
                         .mylog .log    { color: #bada55; }
                         .mylog .warn   { color: #ffae42; }
                         .mylog .error  { color: #ff5555; }
                         .mylog .debug  { color: #66b3ff; }
                      

                      javascript in skripte reiter eintragen

                         (function() {
                           const orig = {
                             log:   console.log,
                             warn:  console.warn,
                             error: console.error,
                             debug: console.debug,
                           };
                      
                           function appendLog(type, args) {
                             const $log = $('.mylog');
                             // Zeile bauen
                             const msg = Array.from(args).map(a => {
                               // Objekt? Dann JSON serialisieren.
                               if (typeof a === 'object' && a !== null) {
                                 try {
                                   return JSON.stringify(a);
                                 } catch { return '[object]'; }
                               }
                               return String(a);
                             }).join(' ');
                             $log.append($('<div>').addClass(type).text(`[${type}] ${msg}`));
                             $log.scrollTop($log[0].scrollHeight);
                           }
                      
                           // Funktionen überschreiben
                           ['log', 'warn', 'error', 'debug'].forEach(function(type) {
                             console[type] = function(...args) {
                               appendLog(type, args);
                               orig[type].apply(console, args);
                             };
                           });
                         })();
                      

                      in den runtime mode gehen und reload der seite durchführen

                      3f4cff14-3908-467f-99ce-f8754b5d744e-image.png

                      Meine Adapter und Widgets
                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                      Links im Profil

                      skvarelS OliverIOO 2 Antworten Letzte Antwort
                      1
                      • OliverIOO OliverIO

                        @skvarel

                        du könntest eine alphaversion machen wo du ungefähr den folgenden code einbaust. dieser leitet die ausgaben von console.log/warn/error in ein html element um.

                        das kann man sogar direkt in vis2 ausprobieren. allerdings klinkt sich der code wahrscheinlich bzu spät ein, so das der fehler bereits passiert ist und daher nicht mehr erfasst wird.
                        in der alpha version müsste man dafür sorgen, das das so früh als möglich ausgeführt wird.
                        also am besten in die index.html mit einbauen.
                        https://github.com/inventwo/ioBroker.vis-2-widgets-inventwo/blob/main/src-widgets/index.html

                        in vis2 kann man das wie folgt mal probieren:

                        html widget mit namen mylog anlegen
                        ccaf5389-88f3-4e06-9113-78f8938ad425-image.png

                        hier zum importieren mit testcode

                        [
                         {
                           "tpl": "tplHtml",
                           "data": {
                             "bindings": [],
                             "name": null,
                             "comment": null,
                             "class": "mylog",
                             "filterkey": null,
                             "multi-views": null,
                             "locked": null,
                             "g_fixed": true,
                             "html": "<script>\r\n    console.log(\"log test\");\r\n    console.warn(\"warn test\");\r\n    console.error(\"error test\");\r\n    console.debug(\"debug test\");\r\n</script>",
                             "refreshInterval": null,
                             "g_common": true
                           },
                           "style": {
                             "bindings": [],
                             "left": 28,
                             "top": 70,
                             "width": "711px",
                             "height": "331px"
                           },
                           "widgetSet": "basic",
                           "_id": "i000001"
                         }
                        ]
                        

                        css im css reiter eintragen

                           .mylog {
                             font-family: monospace;
                             white-space: pre-wrap;
                             background: #222;
                             color: #eee;
                             padding: 10px;
                             border-radius: 6px;
                             max-height: 300px;
                             overflow-y: auto;
                             margin: 20px;
                           }
                           .mylog .log    { color: #bada55; }
                           .mylog .warn   { color: #ffae42; }
                           .mylog .error  { color: #ff5555; }
                           .mylog .debug  { color: #66b3ff; }
                        

                        javascript in skripte reiter eintragen

                           (function() {
                             const orig = {
                               log:   console.log,
                               warn:  console.warn,
                               error: console.error,
                               debug: console.debug,
                             };
                        
                             function appendLog(type, args) {
                               const $log = $('.mylog');
                               // Zeile bauen
                               const msg = Array.from(args).map(a => {
                                 // Objekt? Dann JSON serialisieren.
                                 if (typeof a === 'object' && a !== null) {
                                   try {
                                     return JSON.stringify(a);
                                   } catch { return '[object]'; }
                                 }
                                 return String(a);
                               }).join(' ');
                               $log.append($('<div>').addClass(type).text(`[${type}] ${msg}`));
                               $log.scrollTop($log[0].scrollHeight);
                             }
                        
                             // Funktionen überschreiben
                             ['log', 'warn', 'error', 'debug'].forEach(function(type) {
                               console[type] = function(...args) {
                                 appendLog(type, args);
                                 orig[type].apply(console, args);
                               };
                             });
                           })();
                        

                        in den runtime mode gehen und reload der seite durchführen

                        3f4cff14-3908-467f-99ce-f8754b5d744e-image.png

                        skvarelS Offline
                        skvarelS Offline
                        skvarel
                        Developer
                        schrieb am zuletzt editiert von
                        #17

                        @oliverio .. wie gesagt, das muss sich @jkvarel angucken.

                        Ich bin nur der Designer vom vis-icontwo Adapter. Die Widget Adapter macht komplett mein Sohn.

                        #TeamInventwo
                        • vis-inventwo & vis-2-widgets-inventwo
                        • vis-icontwo & vis-2-widgets-icontwo

                        OliverIOO 1 Antwort Letzte Antwort
                        0
                        • skvarelS skvarel

                          @oliverio .. wie gesagt, das muss sich @jkvarel angucken.

                          Ich bin nur der Designer vom vis-icontwo Adapter. Die Widget Adapter macht komplett mein Sohn.

                          OliverIOO Offline
                          OliverIOO Offline
                          OliverIO
                          schrieb am zuletzt editiert von
                          #18

                          @skvarel sagte in Fehler VIS-2 Widget Inventwo:

                          Die Widget Adapter macht komplett mein Sohn.

                          ah jetzt, kenne eure rollen und arbeitsteilung nicht.
                          Dein Bengel hätte auch die liebevolle Bezeichnung für deinen Adapter sein können :)

                          Meine Adapter und Widgets
                          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                          Links im Profil

                          skvarelS 1 Antwort Letzte Antwort
                          1
                          • OliverIOO OliverIO

                            @skvarel sagte in Fehler VIS-2 Widget Inventwo:

                            Die Widget Adapter macht komplett mein Sohn.

                            ah jetzt, kenne eure rollen und arbeitsteilung nicht.
                            Dein Bengel hätte auch die liebevolle Bezeichnung für deinen Adapter sein können :)

                            skvarelS Offline
                            skvarelS Offline
                            skvarel
                            Developer
                            schrieb am zuletzt editiert von
                            #19

                            @oliverio sagte in Fehler VIS-2 Widget Inventwo:

                            Dein Bengel hätte auch die liebevolle Bezeichnung für deinen Adapter sein können :)

                            In dem Fall ist mein Bengel tatsächlich mein Sohn ;)

                            Kurz zum Hintergrund: Er ist reiner Programmierer aber kein Nutzer. Er hat mit dem ioBroker sonst nichts zu tun. Deswegen kommen manche Dinge erst im Nachhinein ans Licht. Hauptsächlich wenn ich mit dem ioBroker arbeite.

                            Ich habe jetzt meine ganze VIS in VIS2 nachgebaut .... 26 Views mit rund 1.000 Widgets. Da kamen noch zwei/drei Sachen auf, die er beheben muss.

                            #TeamInventwo
                            • vis-inventwo & vis-2-widgets-inventwo
                            • vis-icontwo & vis-2-widgets-icontwo

                            1 Antwort Letzte Antwort
                            0
                            • OliverIOO OliverIO

                              @skvarel

                              du könntest eine alphaversion machen wo du ungefähr den folgenden code einbaust. dieser leitet die ausgaben von console.log/warn/error in ein html element um.

                              das kann man sogar direkt in vis2 ausprobieren. allerdings klinkt sich der code wahrscheinlich bzu spät ein, so das der fehler bereits passiert ist und daher nicht mehr erfasst wird.
                              in der alpha version müsste man dafür sorgen, das das so früh als möglich ausgeführt wird.
                              also am besten in die index.html mit einbauen.
                              https://github.com/inventwo/ioBroker.vis-2-widgets-inventwo/blob/main/src-widgets/index.html

                              in vis2 kann man das wie folgt mal probieren:

                              html widget mit namen mylog anlegen
                              ccaf5389-88f3-4e06-9113-78f8938ad425-image.png

                              hier zum importieren mit testcode

                              [
                               {
                                 "tpl": "tplHtml",
                                 "data": {
                                   "bindings": [],
                                   "name": null,
                                   "comment": null,
                                   "class": "mylog",
                                   "filterkey": null,
                                   "multi-views": null,
                                   "locked": null,
                                   "g_fixed": true,
                                   "html": "<script>\r\n    console.log(\"log test\");\r\n    console.warn(\"warn test\");\r\n    console.error(\"error test\");\r\n    console.debug(\"debug test\");\r\n</script>",
                                   "refreshInterval": null,
                                   "g_common": true
                                 },
                                 "style": {
                                   "bindings": [],
                                   "left": 28,
                                   "top": 70,
                                   "width": "711px",
                                   "height": "331px"
                                 },
                                 "widgetSet": "basic",
                                 "_id": "i000001"
                               }
                              ]
                              

                              css im css reiter eintragen

                                 .mylog {
                                   font-family: monospace;
                                   white-space: pre-wrap;
                                   background: #222;
                                   color: #eee;
                                   padding: 10px;
                                   border-radius: 6px;
                                   max-height: 300px;
                                   overflow-y: auto;
                                   margin: 20px;
                                 }
                                 .mylog .log    { color: #bada55; }
                                 .mylog .warn   { color: #ffae42; }
                                 .mylog .error  { color: #ff5555; }
                                 .mylog .debug  { color: #66b3ff; }
                              

                              javascript in skripte reiter eintragen

                                 (function() {
                                   const orig = {
                                     log:   console.log,
                                     warn:  console.warn,
                                     error: console.error,
                                     debug: console.debug,
                                   };
                              
                                   function appendLog(type, args) {
                                     const $log = $('.mylog');
                                     // Zeile bauen
                                     const msg = Array.from(args).map(a => {
                                       // Objekt? Dann JSON serialisieren.
                                       if (typeof a === 'object' && a !== null) {
                                         try {
                                           return JSON.stringify(a);
                                         } catch { return '[object]'; }
                                       }
                                       return String(a);
                                     }).join(' ');
                                     $log.append($('<div>').addClass(type).text(`[${type}] ${msg}`));
                                     $log.scrollTop($log[0].scrollHeight);
                                   }
                              
                                   // Funktionen überschreiben
                                   ['log', 'warn', 'error', 'debug'].forEach(function(type) {
                                     console[type] = function(...args) {
                                       appendLog(type, args);
                                       orig[type].apply(console, args);
                                     };
                                   });
                                 })();
                              

                              in den runtime mode gehen und reload der seite durchführen

                              3f4cff14-3908-467f-99ce-f8754b5d744e-image.png

                              OliverIOO Offline
                              OliverIOO Offline
                              OliverIO
                              schrieb am zuletzt editiert von
                              #20

                              @oliverio sagte in Fehler VIS-2 Widget Inventwo:

                              javascript in skripte reiter eintragen

                              noch ein gedanke zum code was mir eingefallen ist.
                              evtl müsste man die meldungen zunächst auch erst noch in einer variable puffern, da die ausgabe in mylog erst erfolgen kann, wenn das html element existiert. alle meldungen zuvor wären dann ebenfalls verloren.

                              hier nochmal ein optimierter code

                                 (function() {
                                   const orig = {
                                     log:   console.log,
                                     warn:  console.warn,
                                     error: console.error,
                                     debug: console.debug,
                                   };
                                   let mylog = []
                              
                                   function appendLog(type, args) {
                                     const $log = $('.mylog');
                                     // Zeile bauen
                                     const msg = Array.from(args).map(a => {
                                       // Objekt? Dann JSON serialisieren.
                                       if (typeof a === 'object' && a !== null) {
                                         try {
                                           return JSON.stringify(a);
                                         } catch { return '[object]'; }
                                       }
                                       return String(a);
                                     }).join(' ');
                                     mylog.push({type,msg})
                                     $log.append($('<div>').addClass(type).text(`[${type}] ${msg}`));
                                     $log.scrollTop($log[0].scrollHeight);
                                   }
                                   function output(){
                                     $log.html("");
                                     mylog.forEach(line=>{
                                       $log.append($('<div>').addClass(line.type).text(`[${line.type}] ${line.msg}`));
                                       $log.scrollTop($log[0].scrollHeight);
                              
                                     })
                              
                                   }
                              
                                   // Funktionen überschreiben
                                   ['log', 'warn', 'error', 'debug'].forEach(function(type) {
                                     console[type] = function(...args) {
                                       appendLog(type, args);
                                       orig[type].apply(console, args);
                                     };
                                   });
                                 })();
                              
                              

                              Meine Adapter und Widgets
                              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                              Links im Profil

                              1 Antwort Letzte Antwort
                              1
                              • LongbowL Offline
                                LongbowL Offline
                                Longbow
                                schrieb am zuletzt editiert von
                                #21

                                @oliverio Könnte dein Sohn schon mal schauen? Es geht von 20x nur 1x kann es aber auch nicht nachbauen.

                                skvarelS 1 Antwort Letzte Antwort
                                0
                                • LongbowL Longbow

                                  @oliverio Könnte dein Sohn schon mal schauen? Es geht von 20x nur 1x kann es aber auch nicht nachbauen.

                                  skvarelS Offline
                                  skvarelS Offline
                                  skvarel
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #22

                                  @longbow sagte in Fehler VIS-2 Widget Inventwo:

                                  @oliverio Könnte dein Sohn schon mal schauen? Es geht von 20x nur 1x kann es aber auch nicht nachbauen.

                                  .. ich denke, du meinst meinen Sohn ;)

                                  @jkvarel ... guckst du bitte hier.

                                  #TeamInventwo
                                  • vis-inventwo & vis-2-widgets-inventwo
                                  • vis-icontwo & vis-2-widgets-icontwo

                                  1 Antwort Letzte Antwort
                                  0
                                  • jkvarelJ Offline
                                    jkvarelJ Offline
                                    jkvarel
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #23

                                    Ich habe den Code eingefügt. @Longbow , bitte Version 0.3.4 installieren und den Schritten 1, 2 und 4 von @OliverIO folgen

                                    1 Antwort Letzte Antwort
                                    1
                                    • jkvarelJ Offline
                                      jkvarelJ Offline
                                      jkvarel
                                      Developer
                                      schrieb am zuletzt editiert von
                                      #24

                                      Bitte Version 0.3.5 nutzen. Beim Testen des Codes hatte ich das Universal Widget auskommentiert und vor dem Hochladen vergessen wieder mit reinzunehmen.

                                      LongbowL 1 Antwort Letzte Antwort
                                      1
                                      • jkvarelJ jkvarel

                                        Bitte Version 0.3.5 nutzen. Beim Testen des Codes hatte ich das Universal Widget auskommentiert und vor dem Hochladen vergessen wieder mit reinzunehmen.

                                        LongbowL Offline
                                        LongbowL Offline
                                        Longbow
                                        schrieb am zuletzt editiert von Longbow
                                        #25

                                        @jkvarel die Version installiert, nur leider wenn ich das wie @Oliver-0 beschrieben hat, bleibt die Seite schwarz, es wir gar nichts angezeigt

                                        hab gerade im Log geschaut, das steht da

                                        Invalid pattern on subscribe: The pattern ""bindings": [], "left": 28, "top": 70, "width": "711px", "height": "331px"" is not a valid ID pattern
                                        
                                        web.0
                                        2025-08-10 16:06:17.317	error	Invalid pattern on subscribe: The pattern ""tpl": "tplHtml", "data": { "bindings": [], "name": null, "comment": null, "class": "mylog", "filterkey": null, "multi-views": null, "locked": null, "g_fixed": true, "html": "<script>\r\n console.log(\"log test\")" is not a valid ID pattern
                                        
                                        web.0
                                        2025-08-10 16:03:35.816	error	Invalid pattern on subscribe: The pattern ""bindings": [], "left": 28, "top": 70, "width": "711px", "height": "331px"" is not a valid ID pattern
                                        
                                        web.0
                                        2025-08-10 16:03:35.815	error	Invalid pattern on subscribe: The pattern ""tpl": "tplHtml", "data": { "bindings": [], "name": null, "comment": null, "class": "mylog", "filterkey": null, "multi-views": null, "locked": null, "g_fixed": true, "html": "<script>\r\n console.log(\"log test\")" is not a valid ID pattern
                                        
                                        OliverIOO 1 Antwort Letzte Antwort
                                        0
                                        • LongbowL Longbow

                                          @jkvarel die Version installiert, nur leider wenn ich das wie @Oliver-0 beschrieben hat, bleibt die Seite schwarz, es wir gar nichts angezeigt

                                          hab gerade im Log geschaut, das steht da

                                          Invalid pattern on subscribe: The pattern ""bindings": [], "left": 28, "top": 70, "width": "711px", "height": "331px"" is not a valid ID pattern
                                          
                                          web.0
                                          2025-08-10 16:06:17.317	error	Invalid pattern on subscribe: The pattern ""tpl": "tplHtml", "data": { "bindings": [], "name": null, "comment": null, "class": "mylog", "filterkey": null, "multi-views": null, "locked": null, "g_fixed": true, "html": "<script>\r\n console.log(\"log test\")" is not a valid ID pattern
                                          
                                          web.0
                                          2025-08-10 16:03:35.816	error	Invalid pattern on subscribe: The pattern ""bindings": [], "left": 28, "top": 70, "width": "711px", "height": "331px"" is not a valid ID pattern
                                          
                                          web.0
                                          2025-08-10 16:03:35.815	error	Invalid pattern on subscribe: The pattern ""tpl": "tplHtml", "data": { "bindings": [], "name": null, "comment": null, "class": "mylog", "filterkey": null, "multi-views": null, "locked": null, "g_fixed": true, "html": "<script>\r\n console.log(\"log test\")" is not a valid ID pattern
                                          
                                          OliverIOO Offline
                                          OliverIOO Offline
                                          OliverIO
                                          schrieb am zuletzt editiert von
                                          #26

                                          @longbow

                                          ich habe das gerade mal bei mir ausprobiert und es funktioniert.

                                          prüfe nochmal:

                                          1. den skript reiter wieder leeren. der code ist jetzt im widget code enthalten.
                                          2. css mal lassen
                                          3. und zum schluss dann das html widget mit dem namen mylog anlegen wie oben beschrieben.

                                          der start des logs sieht im editor dann so aus
                                          684a6c2b-f2d4-412b-960f-810ad9c5167b-image.png

                                          im runtime wird der code leider nicht geladen.

                                          Meine Adapter und Widgets
                                          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                          Links im Profil

                                          LongbowL 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          367

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe