{
  "id": "climbing",
  "title": {
    "nl": "Open Klimkaart",
    "de": "Offene Kletterkarte",
    "en": "Open Climbing Map",
    "ru": "Открытая карта скалолазания",
    "ja": "登山地図を開く",
    "zh_Hant": "開放攀爬地圖",
    "nb_NO": "Åpent klatrekart",
    "it": "Mappa aperta per le arrampicate"
  },
  "description": {
    "nl": "Op deze kaart vind je verschillende klimgelegenheden, zoals klimzalen, bolderzalen en klimmen in de natuur",
    "de": "Auf dieser Karte finden Sie verschiedene Klettermöglichkeiten wie Kletterhallen, Boulderhallen und Felsen in der Natur.",
    "en": "On this map you will find various climbing opportunities such as climbing gyms, bouldering halls and rocks in nature.",
    "ru": "На этой карте вы найдете различные возможности для скалолазания, такие как скалодромы, залы для боулдеринга и скалы на природе.",
    "ja": "この地図には、自然の中のクライミングジム、ボルダリングホール、岩など、さまざまなクライミングの機会があります。",
    "zh_Hant": "在這份地圖上你會發現能夠攀爬機會，像是攀岩體育館、抱石大廳以及大自然當中的巨石。"
  },
  "descriptionTail": {
    "nl": "De Open Klimkaart is oorspronkelijk gemaakt door <a href='https://utopicode.de/en/?ref=kletterspots' target='_blank'>Christian Neumann</a> op <a href='https://kletterspots.de' target='_blank'>kletterspots.de</a>.",
    "en": "The climbing map was originally made by <a href='https://utopicode.de/en/?ref=kletterspots' target='_blank'>Christian Neumann</a>. Please <a href='https://utopicode.de/en/contact/?project=kletterspots&ref=kletterspots' target='blank'>get in touch</a> if you have feedback or questions.</p><p>The project uses data of the <a href='https://www.openstreetmap.org/' target='_blank'>OpenStreetMap</a> project.</p>",
    "de": "<p><strong>kletterspots.de</strong> wird betrieben von <a href='https://utopicode.de/?ref=kletterspots' target='_blank'>Christian Neumann</a>. Bitte <a href='https://utopicode.de/kontakt/?project=kletterspots&ref=kletterspots' target='blank'>melden Sie sich</a>, wenn Sie Feedback oder Fragen haben.</p><p>Das Projekt nutzt Daten des <a href='https://www.openstreetmap.org/' target='_blank'>OpenStreetMap</a> Projekts und basiert auf der freien Software <a href='https://github.com/pietervdvn/MapComplete' target='_blank'>MapComplete</a>.</p>",
    "ru": "Создатель карты скалолазания — <a href='https://utopicode.de/en/?ref=kletterspots' target='_blank'>Christian Neumann</a>. Пожалуйста, <a href='https://utopicode.de/en/contact/?project=kletterspots&ref=kletterspots' target='blank'>пишите</a> если у вас есть отзыв или вопросы.</p><p>Проект использует данные <a href='https://www.openstreetmap.org/' target='_blank'>OpenStreetMap</a>.</p>",
    "ja": "登山地図はもともと <a href='https://utopicode.de/en/?ref=kletterspots' target='_blank'>Christian Neumann</a> によって作成されたものです。フィードバックや質問がありましたら、<a href='https://utopicode.de/en/contact/?project=kletterspots&ref=kletterspots' target='blank'>ご連絡</a>ください。</p><p>このプロジェクトでは、<a href='https://www.openstreetmap.org/' target='_blank'>OpenStreetMap</a>プロジェクトのデータを使用します。</p>",
    "zh_Hant": "攀爬地圖最初由 <a href='https://utopicode.de/en/?ref=kletterspots' target='_blank'>Christian Neumann</a> 製作。如果你有回饋意見或問題請到Please <a href='https://utopicode.de/en/contact/?project=kletterspots&ref=kletterspots' target='blank'>這邊反應</a>。</p><p>這專案使用來自<a href='https://www.openstreetmap.org/' target='_blank'>開放街圖</a>專案的資料。</p>"
  },
  "language": [
    "nl",
    "de",
    "en",
    "ru",
    "ja",
    "zh_Hant",
    "nb_NO",
    "it",
    "ca",
    "fr",
    "id"
  ],
  "maintainer": "Christian Neumann <christian@utopicode.de>",
  "icon": "./assets/themes/climbing/climbing_icon.svg",
  "version": "0",
  "startLat": 0,
  "startLon": 0,
  "startZoom": 1,
  "widenFactor": 0.05,
  "socialImage": "",
  "layers": [
    {
      "id": "climbing_club",
      "name": {
        "de": "Kletterverein",
        "nl": "Klimclub",
        "en": "Climbing club",
        "ru": "Клуб скалолазания",
        "ja": "クライミングクラブ",
        "zh_Hant": "攀岩社團",
        "nb_NO": "Klatreklubb"
      },
      "minzoom": 10,
      "source": {
        "osmTags": {
          "or": [
            "club=climbing",
            {
              "and": [
                "sport=climbing",
                {
                  "or": [
                    "office~*",
                    "club~*"
                  ]
                }
              ]
            }
          ]
        }
      },
      "title": {
        "render": {
          "en": "Climbing club",
          "nl": "Klimclub",
          "de": "Kletterverein",
          "ru": "Клуб скалолазания",
          "ja": "クライミングクラブ",
          "zh_Hant": "攀岩社團",
          "nb_NO": "Klatreklubb"
        },
        "mappings": [
          {
            "if": "office~*",
            "then": {
              "nl": "Klimorganisatie",
              "en": "Climbing NGO",
              "de": "Kletter-Organisation",
              "ja": "クライミングNGO",
              "zh_Hant": "攀岩 NGO"
            }
          }
        ]
      },
      "description": {
        "de": "Ein Kletterverein oder eine Organisation",
        "nl": "Een klimclub of organisatie",
        "en": "A climbing club or organisations",
        "ja": "クライミングクラブや団体",
        "zh_Hant": "攀岩社團或組織",
        "nb_NO": "En klatreklubb eller organisasjoner"
      },
      "tagRenderings": [
        {
          "render": {
            "en": "<strong>{name}</strong>",
            "nl": "<strong>{name}</strong>",
            "de": "<strong>{name}</strong>",
            "ca": "<strong>{name}</strong>",
            "fr": "<strong>{name}</strong>",
            "id": "<strong>{name}</strong>",
            "ru": "<strong>{name}</strong>",
            "ja": "<strong>{name}</strong>",
            "zh_Hant": "<strong>{name}</strong>"
          },
          "question": {
            "en": "What is the name of this climbing club or NGO?",
            "de": "Wie lautet der Name dieses Vereins oder Organisation?",
            "nl": "Wat is de naam van deze klimclub?",
            "ja": "この登山クラブやNGOの名前は何ですか?"
          },
          "freeform": {
            "key": "name"
          }
        },
        {
          "render": "{minimap(18): height: 5rem; overflow: hidden; border-radius:3rem; }"
        },
        "website",
        "email",
        "phone",
        "opening_hours"
      ],
      "icon": {
        "render": "./assets/themes/climbing/club.svg"
      },
      "iconOverlays": [
        {
          "if": "opening_hours~*",
          "then": "isOpen",
          "badge": true
        }
      ],
      "width": {
        "render": "8"
      },
      "iconSize": {
        "render": "40,40,center"
      },
      "color": {
        "render": "#00f"
      },
      "presets": [
        {
          "tags": [
            "club=sport",
            "sport=climbing"
          ],
          "title": {
            "de": "Kletterverein",
            "en": "Climbing club",
            "nl": "Klimclub",
            "ja": "クライミングクラブ",
            "nb_NO": "Klatreklubb",
            "ru": "Клуб скалолазания"
          },
          "description": {
            "de": "Ein Kletterverein",
            "nl": "Een klimclub",
            "en": "A climbing club",
            "ja": "クライミングクラブ",
            "nb_NO": "En klatreklubb",
            "ru": "Клуб скалолазания"
          }
        },
        {
          "tags": [
            "office=ngo",
            "sport=climbing"
          ],
          "title": {
            "de": "Eine Kletter-Organisation",
            "en": "Climbing NGO",
            "nl": "Een klimorganisatie",
            "ja": "クライミングNGO"
          },
          "description": {
            "de": "Eine Organisation, welche sich mit dem Klettern beschäftigt",
            "nl": "Een VZW die werkt rond klimmen",
            "en": "A NGO working around climbing",
            "ja": "登山に関わるNGO"
          }
        }
      ],
      "wayHandling": 1
    },
    {
      "id": "climbing_gym",
      "name": {
        "de": "Kletterhallen",
        "en": "Climbing gyms",
        "nl": "Klimzalen",
        "ja": "クライミングジム"
      },
      "minzoom": 10,
      "source": {
        "osmTags": {
          "and": [
            "sport=climbing",
            "leisure=sports_centre"
          ]
        }
      },
      "title": {
        "render": {
          "nl": "Klimzaal",
          "de": "Kletterhalle",
          "en": "Climbing gym",
          "ja": "クライミングジム"
        },
        "mappings": [
          {
            "if": "name~*",
            "then": {
              "nl": "Klimzaal <strong>{name}</strong>",
              "de": "Kletterhalle <strong>{name}</strong>",
              "en": "Climbing gym <strong>{name}</strong>",
              "ja": "クライミングジム<strong>{name}</strong>"
            }
          }
        ]
      },
      "description": {
        "de": "Eine Kletterhalle",
        "en": "A climbing gym",
        "ja": "クライミングジム",
        "nl": "Een klimzaal"
      },
      "tagRenderings": [
        "images",
        "questions",
        {
          "render": "{minimap(18): height: 5rem; overflow: hidden; border-radius:3rem; }"
        },
        {
          "#": "name",
          "render": {
            "en": "<strong>{name}</strong>",
            "nl": "<strong>{name}</strong>",
            "de": "<strong>{name}</strong>",
            "ca": "<strong>{name}</strong>",
            "fr": "<strong>{name}</strong>",
            "id": "<strong>{name}</strong>",
            "ru": "<strong>{name}</strong>",
            "ja": "<strong>{name}</strong>"
          },
          "question": {
            "en": "What is the name of this climbing gym?",
            "nl": "Wat is de naam van dit Klimzaal?",
            "de": "Wie heißt diese Kletterhalle?",
            "ja": "このクライミングジムは何という名前ですか?"
          },
          "freeform": {
            "key": "name"
          }
        },
        "website",
        "phone",
        "email",
        "opening_hours",
        "reviews"
      ],
      "icon": {
        "render": "./assets/themes/climbing/climbing_gym.svg"
      },
      "iconOverlays": [
        {
          "if": "opening_hours~*",
          "then": "isOpen",
          "badge": true
        }
      ],
      "width": "0",
      "iconSize": {
        "render": "40,40,center"
      },
      "wayHandling": 1
    },
    {
      "id": "climbing_route",
      "name": {
        "en": "Climbing routes",
        "de": "Kletterrouten",
        "nl": "Klimroute",
        "ja": "登坂ルート",
        "nb_NO": "Klatreruter"
      },
      "minzoom": 18,
      "source": {
        "osmTags": {
          "and": [
            "climbing=route"
          ]
        }
      },
      "title": {
        "render": {
          "de": "Kleterroute",
          "en": "Climbing route",
          "nl": "Klimroute",
          "ja": "登坂ルート",
          "nb_NO": "Klatrerute",
          "it": "Via di arrampicata"
        },
        "mappings": [
          {
            "if": "name~*",
            "then": {
              "de": "Kleterroute <strong>{name}</strong>",
              "en": "Climbing route <strong>{name}</strong>",
              "nl": "Klimroute <strong>{name}</strong>",
              "ja": "登坂ルート<strong>{name}</strong>",
              "it": "Via di arrampicata <strong>{name}</strong>"
            }
          }
        ]
      },
      "tagRenderings": [
        "images",
        "questions",
        {
          "render": "{minimap(18): height: 5rem; overflow: hidden; border-radius:3rem; }"
        },
        {
          "#": "Name",
          "render": {
            "en": "<strong>{name}</strong>",
            "nl": "<strong>{name}</strong>",
            "de": "<strong>{name}</strong>",
            "ca": "<strong>{name}</strong>",
            "fr": "<strong>{name}</strong>",
            "id": "<strong>{name}</strong>",
            "ru": "<strong>{name}</strong>",
            "ja": "<strong>{name}</strong>",
            "it": "<strong>{name}</strong>"
          },
          "question": {
            "en": "What is the name of this climbing route?",
            "de": "Wie heißt diese Kletterroute?",
            "nl": "Hoe heet deze klimroute?",
            "ja": "この登坂ルートの名前は何ですか?",
            "it": "Come si chiama questa via di arrampicata?"
          },
          "freeform": {
            "key": "name"
          },
          "mappings": [
            {
              "if": {
                "and": [
                  "noname=yes",
                  "name="
                ]
              },
              "then": {
                "en": "This climbing route doesn't have a name",
                "de": "Diese Kletterroute hat keinen Namen",
                "nl": "Deze klimroute heeft geen naam",
                "ja": "この登坂ルートには名前がありません",
                "it": "Questa via di arrampicata non ha un nome"
              }
            }
          ]
        },
        {
          "#": "Length",
          "question": {
            "en": "How long is this climbing route (in meters)?",
            "nl": "Hoe lang is deze klimroute (in meters)?",
            "it": "Quanto è lunga questa via di arrampicata (in metri)?"
          },
          "render": {
            "de": "Diese Route ist {canonical(climbing:length)} lang",
            "en": "This route is {canonical(climbing:length)} long",
            "nl": "Deze klimroute is {canonical(climbing:length)} lang",
            "ja": "このルート長は、 {canonical(climbing:length)} メーターです",
            "nb_NO": "Denne ruten er {canonical(climbing:length)} lang",
            "it": "Questo percorso è lungo {canonical(climbing:length)}"
          },
          "freeform": {
            "key": "climbing:length",
            "type": "pnat"
          }
        },
        {
          "#": "Difficulty",
          "question": {
            "en": "What is the difficulty of this climbing route according to the french/belgian system?",
            "nl": "Hoe moeilijk is deze klimroute volgens het Franse/Belgische systeem?",
            "it": "Qual è la difficoltà di questa via di arrampicata nel sistema francese/belga?"
          },
          "render": {
            "de": "Die Schwierigkeit ist {climbing:grade:french} entsprechend des französisch/belgischen Systems",
            "en": "The difficulty is {climbing:grade:french} according to the french/belgian system",
            "nl": "De klimmoeilijkheid is {climbing:grade:french} volgens het Franse/Belgische systeem",
            "ja": "フランス/ベルギーのランク評価システムによると、{climbing:grade:french}の困難度です",
            "it": "Il grado di difficoltà è {climbing:grade:french} nel sistema francese/belga"
          },
          "freeform": {
            "key": "climbing:grade:french"
          }
        },
        {
          "#": "Bolts",
          "question": {
            "en": "How much bolts does this route have before reaching the moulinette?"
          },
          "render": {
            "en": "This route has {climbing:bolts} bolts"
          },
          "freeform": {
            "key": "climbing:bolts",
            "type": "pnat",
            "addExtraTag": [
              "climbing:bolted=yes"
            ]
          },
          "mappings": [
            {
              "if": "climbing:bolted=no",
              "then": {
                "en": "This route is not bolted"
              },
              "hideInAnswer": true
            },
            {
              "if": "climbing:bolted=no&climbing:bolts=",
              "then": {
                "en": "This route is not bolted"
              }
            }
          ]
        },
        {
          "#": "Description",
          "question": "Is there other relevant info?",
          "render": "<h3>Description</h3><br/>{description}",
          "freeform": {
            "key": "description"
          }
        },
        {
          "#": "Rock type",
          "render": {
            "en": "The rock type is {_embedding_features_with_rock:rock} as stated <a href='#{_embedding_features_with_rock:id}'>on the surrounding crag</a>"
          },
          "freeform": {
            "key": "_embedding_features_with_rock:rock"
          }
        },
        "reviews"
      ],
      "icon": {
        "render": "circle:white;./assets/themes/climbing/climbing_route.svg"
      },
      "width": {
        "render": "4"
      },
      "iconSize": {
        "render": "28,28,center"
      },
      "color": {
        "render": "#0f0"
      },
      "presets": [
        {
          "title": {
            "en": "Climbing route",
            "nl": "Klimroute"
          },
          "tags": [
            "sport=climbing",
            "climbing=route"
          ]
        }
      ],
      "wayHandling": 2
    },
    {
      "id": "climbing",
      "name": {
        "nl": "Klimgelegenheden",
        "de": "Klettermöglichkeiten",
        "en": "Climbing opportunities",
        "ja": "登坂教室"
      },
      "minzoom": 10,
      "source": {
        "osmTags": {
          "and": [
            "sport=climbing",
            "climbing!~route",
            "leisure!~sports_centre",
            "climbing!=route_top",
            "climbing!=route_bottom"
          ]
        }
      },
      "title": {
        "render": {
          "en": "Climbing opportunity",
          "nl": "Klimgelegenheid",
          "de": "Klettermöglichkeit",
          "ja": "登坂教室",
          "nb_NO": "Klatremulighet"
        },
        "mappings": [
          {
            "if": "climbing=crag",
            "then": {
              "en": "Climbing crag <b>{name}</b>"
            }
          },
          {
            "if": {
              "and": [
                {
                  "or": [
                    "climbing=area",
                    "climbing=site"
                  ]
                },
                "name~*"
              ]
            },
            "then": {
              "en": "Climbing area <b>{name}</b>",
              "nl": "Klimsite <b>{name}</b>"
            }
          },
          {
            "if": {
              "or": [
                "climbing=site",
                "climbing=area"
              ]
            },
            "then": {
              "en": "Climbing site",
              "nl": "Klimsite"
            }
          },
          {
            "if": "name~*",
            "then": {
              "nl": "Klimgelegenheid <b>{name}</b>",
              "en": "Climbing opportunity <b>{name}</b>"
            }
          }
        ]
      },
      "description": {
        "nl": "Een klimgelegenheid",
        "de": "Eine Klettergelegenheit",
        "en": "A climbing opportunity",
        "ja": "登坂教室",
        "nb_NO": "En klatremulighet"
      },
      "tagRenderings": [
        "images",
        "questions",
        {
          "render": "{minimap(18, id, _contained_climbing_route_ids): height: 9rem; overflow: hidden; border-radius:3rem; }"
        },
        {
          "#": "Contained routes length hist",
          "render": {
            "en": "<h3>Length overview</h3>{histogram(_length_hist)}"
          },
          "condition": "_length_hist!~\\[\\]"
        },
        {
          "#": "Contained routes hist",
          "render": {
            "en": "<h3>Difficulties overview</h3>{histogram(_difficulty_hist)}"
          },
          "condition": "_difficulty_hist!~\\[\\]"
        },
        {
          "#": "Containe {_contained_climbing_routes_count} routes",
          "render": {
            "en": "<h3>Contains {_contained_climbing_routes_count} routes</h3> <ul>{_contained_climbing_routes}</ul>"
          },
          "condition": "_contained_climbing_routes~*"
        },
        {
          "#": "name",
          "render": {
            "en": "<strong>{name}</strong>",
            "nl": "<strong>{name}</strong>",
            "de": "<strong>{name}</strong>",
            "ca": "<strong>{name}</strong>",
            "fr": "<strong>{name}</strong>",
            "id": "<strong>{name}</strong>",
            "ru": "<strong>{name}</strong>",
            "ja": "<strong>{name}</strong>"
          },
          "question": {
            "en": "What is the name of this climbing opportunity?",
            "nl": "Wat is de naam van dit Klimgelegenheid?",
            "de": "Wie heißt diese Klettergelegenheit?",
            "ja": "この登坂教室の名前は何ですか?"
          },
          "freeform": {
            "key": "name"
          },
          "mappings": [
            {
              "if": {
                "and": [
                  "noname=yes",
                  "name="
                ]
              },
              "then": {
                "en": "This climbing opportunity doesn't have a name",
                "nl": "Dit Klimgelegenheid heeft geen naam",
                "de": "Diese Klettergelegenheit hat keinen Namen",
                "ja": "この登坂教室には名前がついていない"
              }
            }
          ]
        },
        {
          "#": "Type",
          "question": "What kind of climbing opportunity is this?",
          "mappings": [
            {
              "if": "climbing=boulder",
              "then": {
                "en": "A climbing boulder - a single rock or cliff with one or a few climbing routes which can be climbed safely without rope"
              }
            },
            {
              "if": "climbing=crag",
              "then": {
                "en": "A climbing crag - a single rock or cliff with at least a few climbing routes"
              }
            },
            {
              "if": "climbing=area",
              "then": "A climbing area with one or more climbing crags and/or boulders"
            }
          ]
        },
        {
          "#": "Rock type (crag/rock/cliff only)",
          "question": {
            "en": "What is the rock type here?"
          },
          "render": {
            "en": "The rock type is {rock}"
          },
          "freeform": {
            "key": "rock"
          },
          "mappings": [
            {
              "if": "rock=limestone",
              "then": {
                "en": "Limestone",
                "nl": "Kalksteen"
              }
            }
          ],
          "condition": {
            "or": [
              "climbing=crag",
              "natural=cliff",
              "natural=bare_rock"
            ]
          }
        },
        "reviews"
      ],
      "icon": {
        "render": "./assets/themes/climbing/climbing_no_rope.svg"
      },
      "width": {
        "render": "8"
      },
      "iconSize": {
        "render": "40,40,center"
      },
      "color": {
        "render": "#d38d5fAA"
      },
      "presets": [
        {
          "tags": [
            "sport=climbing"
          ],
          "title": {
            "en": "Climbing opportunity",
            "nl": "Klimgelegenheid",
            "de": "Klettermöglichkeit",
            "ja": "登坂教室",
            "nb_NO": "Klatremulighet"
          },
          "description": {
            "nl": "Een klimgelegenheid",
            "de": "Eine Klettergelegenheit",
            "en": "A climbing opportunity",
            "ja": "登坂教室",
            "nb_NO": "En klatremulighet"
          }
        }
      ],
      "wayHandling": 2,
      "calculatedTags": [
        "_contained_climbing_routes_properties=feat.overlapWith('climbing_route').map(f => f.feat.properties).map(p => {return {id: p.id, name: p.name, 'climbing:grade:french': p['climbing:grade:french'], 'climbing:length': p['climbing:length']} })",
        "_contained_climbing_routes=JSON.parse(feat.properties._contained_climbing_routes_properties ?? '[]').map(p => `<li><a href='#${p.id}'>${p.name ?? 'climbing route'}</a> (<b>${p['climbing:grade:french'] ?? 'unknown difficulty'}</b>, ${p['climbing:length'] ?? 'unkown length'} meter)</li>`).join('')",
        "_contained_climbing_route_ids=JSON.parse(feat.properties._contained_climbing_routes_properties ?? '[]').map(p => p.id)",
        "_difficulty_hist=JSON.parse(feat.properties._contained_climbing_routes_properties ?? '[]').map(p => p['climbing:grade:french'])",
        "_length_hist=JSON.parse(feat.properties._contained_climbing_routes_properties ?? '[]').map(p => p['climbing:length'])",
        "_contained_climbing_routes_count=JSON.parse(feat.properties._contained_climbing_routes_properties ?? '[]').length"
      ]
    },
    {
      "id": "maybe_climbing",
      "name": {
        "nl": "Klimgelegenheiden?",
        "de": "Klettermöglichkeiten?",
        "en": "Climbing opportunities?",
        "ja": "登坂教室？",
        "nb_NO": "Klatremuligheter?"
      },
      "minzoom": 19,
      "source": {
        "osmTags": {
          "and": [
            {
              "or": [
                "leisure=sports_centre",
                "barrier=wall",
                "barrier=retaining_wall",
                "natural=cliff",
                "natural=rock",
                "natural=stone"
              ]
            },
            "climbing="
          ]
        }
      },
      "title": {
        "render": {
          "en": "Climbing opportunity?",
          "nl": "Klimgelegenheid?",
          "de": "Klettermöglichkeit?",
          "ja": "登坂教室？",
          "nb_NO": "Klatremulighet?"
        }
      },
      "description": {
        "nl": "Een klimgelegenheid?",
        "de": "Eine Klettergelegenheit?",
        "en": "A climbing opportunity?",
        "ja": "登坂教室？",
        "nb_NO": "En klatremulighet?"
      },
      "tagRenderings": [
        {
          "render": "{minimap(18): height: 5rem; overflow: hidden; border-radius:3rem; }"
        },
        {
          "render": {
            "en": "<strong>{name}</strong>",
            "de": "<strong>{name}</strong>",
            "ca": "<strong>{name}</strong>",
            "fr": "<strong>{name}</strong>",
            "id": "<strong>{name}</strong>",
            "ru": "<strong>{name}</strong>",
            "ja": "<strong>{name}</strong>",
            "nl": "<strong>{name}</strong>"
          },
          "condition": "name~*"
        },
        {
          "question": {
            "en": "Is climbing possible here?",
            "de": "Kann hier geklettert werden?",
            "ja": "ここで登坂はできますか?",
            "nb_NO": "Er klatring mulig her?"
          },
          "mappings": [
            {
              "if": {
                "and": [
                  "sport!~climbing"
                ]
              },
              "then": {
                "en": "Climbing is not possible here",
                "de": "Hier kann nicht geklettert werden",
                "ja": "ここでは登ることができない",
                "nb_NO": "Klatring er ikke mulig her",
                "nl": "Klimmen is hier niet mogelijk"
              },
              "hideInAnswer": true
            },
            {
              "if": {
                "and": [
                  "sport=climbing"
                ]
              },
              "then": {
                "en": "Climbing is possible here",
                "de": "Hier kann geklettert werden",
                "ja": "ここでは登ることができる",
                "nb_NO": "Klatring er mulig her",
                "nl": "Klimmen is hier niet toegelaten"
              }
            },
            {
              "if": "climbing=no",
              "then": {
                "en": "Climbing is not possible here",
                "de": "Hier kann nicht geklettert werden",
                "ja": "ここでは登ることができない",
                "nb_NO": "Klatring er ikke mulig her",
                "nl": "Klimmen is hier niet toegelaten"
              }
            }
          ]
        }
      ],
      "icon": "./assets/themes/climbing/climbing_unknown.svg",
      "width": {
        "render": "2"
      },
      "color": {
        "render": "#ddff55AA"
      },
      "wayHandling": 0
    }
  ],
  "units": [
    {
      "appliesToKey": [
        "climbing:length",
        "climbing:length:min",
        "climbing:length:max"
      ],
      "applicableUnits": [
        {
          "canonicalDenomination": "",
          "alternativeDenomination": [
            "m",
            "meter",
            "meters"
          ],
          "human": {
            "en": " meter",
            "nl": " meter"
          },
          "default": true
        },
        {
          "canonicalDenomination": "ft",
          "alternativeDenomination": [
            "feet",
            "voet"
          ],
          "human": {
            "en": " feet",
            "nl": " voet"
          }
        }
      ]
    }
  ],
  "roamingRenderings": [
    {
      "#": "Website",
      "question": {
        "en": "Is there a (unofficial) website with more informations (e.g. topos)?",
        "de": "Gibt es eine (inoffizielle) Website mit mehr Informationen (z.B. Topos)?",
        "ja": "もっと情報のある(非公式の)ウェブサイトはありますか(例えば、topos)?",
        "nl": "Is er een (onofficiële) website met meer informatie (b.v. met topos)?",
        "ru": "Есть ли (неофициальный) веб-сайт с более подробной информацией (напр., topos)?"
      },
      "condition": {
        "and": [
          "leisure!~sports_centre",
          "sport=climbing",
          "office=",
          "club="
        ]
      },
      "render": "<a href='{url}' target='_blank'>{url}</a>",
      "freeform": {
        "key": "url",
        "type": "url"
      }
    },
    {
      "#": "Access from containing feature",
      "mappings": [
        {
          "if": "_embedding_feature:access=yes",
          "then": {
            "en": "<span class='subtle'>The <a href='#{_embedding_feature:id}'>containing feature</a> states that this is</span> publicly accessible<br/>{_embedding_feature:access:description}",
            "nl": "<span class='subtle'>Een <a href='#{_embedding_feature:id}'>omvattend element</a> geeft aan dat dit <span>publiek toegangkelijk is</span><br/>{_embedding_feature:access:description}"
          }
        },
        {
          "if": "_embedding_feature:access=permit",
          "then": {
            "en": "<span class='subtle'>The <a href='#{_embedding_feature:id}'>containing feature</a> states that </span> a permit is needed to access<br/>{_embedding_feature:access:description}",
            "nl": "<span class='subtle'>Een <a href='#{_embedding_feature:id}'>omvattend element</a> geeft aan dat</span> een toelating nodig is om hier te klimmen<br/>{_embedding_feature:access:description}"
          }
        },
        {
          "if": "_embedding_feature:access=customers",
          "then": {
            "en": "<span class='subtle'>The <a href='#{_embedding_feature:id}'>containing feature</a> states that this is</span> only accessible to customers<br/>{_embedding_feature:access:description}"
          }
        },
        {
          "if": "_embedding_feature:access=members",
          "then": {
            "en": "<span class='subtle'>The <a href='#{_embedding_feature:id}'>containing feature</a> states that this is</span> only accessible to club members<br/>{_embedding_feature:access:description}"
          }
        },
        {
          "if": "_embedding_feature:access=no",
          "then": "Not accessible as stated by <a href='#{_embedding_feature:id}'>the containing feature</a>"
        }
      ],
      "condition": "_embedding_feature:access~*"
    },
    {
      "#": "Access",
      "question": {
        "en": "Who can access here?"
      },
      "mappings": [
        {
          "if": "access=yes",
          "then": {
            "en": "Publicly accessible to anyone"
          }
        },
        {
          "if": "access=permit",
          "then": {
            "en": "You need a permit to access here"
          }
        },
        {
          "if": "access=customers",
          "then": {
            "en": "Only custumers"
          }
        },
        {
          "if": "access=members",
          "then": {
            "en": "Only club members",
            "ru": "Только членам клуба"
          }
        },
        {
          "if": "access=no",
          "then": "Not accessible"
        }
      ],
      "condition": {
        "and": [
          "climbing!=no",
          "office=",
          "club=",
          {
            "or": [
              "sport=climbing",
              "climbing:sport=yes"
            ]
          },
          {
            "or": [
              "access~*",
              "_embedding_feature:access="
            ]
          }
        ]
      }
    },
    {
      "#": "Access description (without _embedding_feature:access:description)",
      "render": "{access:description}",
      "freeform": {
        "key": "access:description"
      }
    },
    {
      "#": "Avg length?",
      "render": {
        "de": "Die Routen sind durchschnittlich <b>{canonical(climbing:length)}</b> lang",
        "en": "The routes are <b>{canonical(climbing:length)}</b> long on average",
        "nl": "De klimroutes zijn gemiddeld <b>{canonical(climbing:length)}</b> lang",
        "ja": "ルートの長さは平均で<b>{canonical(climbing:length)}</b>です"
      },
      "condition": {
        "and": [
          "climbing!~route",
          "office=",
          "club=",
          "climbing:toprope!=no",
          {
            "or": [
              "sport=climbing",
              "climbing:sport=yes",
              "climbing=traditional",
              "climbing=gym"
            ]
          }
        ]
      },
      "question": {
        "de": "Wie lang sind die Routen (durchschnittlich) in Metern?",
        "en": "What is the (average) length of the routes in meters?",
        "nl": "Wat is de (gemiddelde) lengte van de klimroutes, in meter?",
        "ja": "ルートの(平均)長さはメートル単位でいくつですか?"
      },
      "freeform": {
        "key": "climbing:length",
        "type": "pnat"
      }
    },
    {
      "#": "Difficulty-min",
      "question": {
        "de": "Welche Schwierigkeit hat hier die leichteste Route (französisch/belgisches System)?",
        "en": "What is the level of the easiest route here, accoring to the french classification system?",
        "nl": "Wat is het niveau van de makkelijkste route, volgens het Franse classificatiesysteem?",
        "ja": "ここで一番簡単なルートのレベルは、フランスのランク評価システムで何ですか?"
      },
      "render": {
        "de": "Die leichteste Route hat hier die Schwierigkeit {climbing:grade:french:min} (französisch/belgisches System)",
        "en": "The minimal difficulty is {climbing:grade:french:min} according to the french/belgian system",
        "nl": "De minimale klimmoeilijkheid is {climbing:grade:french:min} volgens het Franse/Belgische systeem",
        "ja": "フランス/ベルギーのランク評価システムでは、最小の難易度は{climbing:grade:french:min}です"
      },
      "freeform": {
        "key": "climbing:grade:french:min"
      },
      "condition": {
        "and": [
          "climbing!~route",
          "office=",
          "club=",
          {
            "or": [
              "climbing:sport=yes",
              "sport=climbing"
            ]
          }
        ]
      }
    },
    {
      "#": "Difficulty-max",
      "question": {
        "de": "Welche Schwierigkeit hat hier die schwerste Route (französisch/belgisches System)?",
        "en": "What is the level of the most difficult route here, accoring to the french classification system?",
        "nl": "Wat is het niveau van de moeilijkste route, volgens het Franse classificatiesysteem?",
        "ja": "フランスのランク評価によると、ここで一番難しいルートのレベルはどれくらいですか?"
      },
      "render": {
        "de": "Die schwerste Route hat hier die Schwierigkeit {climbing:grade:french:min} (französisch/belgisches System)",
        "en": "The maximal difficulty is {climbing:grade:french:max} according to the french/belgian system",
        "nl": "De maximale klimmoeilijkheid is {climbing:grade:french:max} volgens het Franse/Belgische systeem",
        "ja": "フランス/ベルギーのランク評価システムでは、最大の難易度は{climbing:grade:french:max}です"
      },
      "freeform": {
        "key": "climbing:grade:french:max"
      },
      "condition": {
        "and": [
          "climbing!~route",
          "office=",
          "club=",
          {
            "or": [
              "climbing:sport=yes",
              "sport=climbing"
            ]
          }
        ]
      }
    },
    {
      "#": "Boldering?",
      "question": {
        "de": "Kann hier gebouldert werden?",
        "en": "Is bouldering possible here?",
        "nl": "Is het mogelijk om hier te bolderen?",
        "ja": "ここでボルダリングはできますか?",
        "nb_NO": "Er buldring mulig her?"
      },
      "mappings": [
        {
          "if": "climbing:boulder=yes",
          "then": {
            "de": "Hier kann gebouldert werden",
            "en": "Bouldering is possible here",
            "nl": "Bolderen kan hier",
            "ja": "ボルダリングはここで可能です",
            "nb_NO": "Buldring er mulig her"
          }
        },
        {
          "if": "climbing:boulder=no",
          "then": {
            "de": "Hier kann nicht gebouldert werden",
            "en": "Bouldering is not possible here",
            "nl": "Bolderen kan hier niet",
            "ja": "ここではボルダリングはできません",
            "nb_NO": "Buldring er ikke mulig her"
          }
        },
        {
          "if": "climbing:boulder=limited",
          "then": {
            "de": "Bouldern ist hier nur an wenigen Routen möglich",
            "en": "Bouldering is possible, allthough there are only a few routes",
            "nl": "Bolderen kan hier, maar er zijn niet zoveel routes",
            "ja": "ボルダリングは可能ですが、少しのルートしかありません"
          }
        },
        {
          "if": "climbing:boulder~*",
          "then": {
            "de": "Hier gibt es {climbing:boulder} Boulder-Routen",
            "en": "There are {climbing:boulder} boulder routes",
            "nl": "Er zijn hier {climbing:boulder} bolderroutes",
            "ja": "{climbing:boulder} ボルダールートがある"
          },
          "hideInAnswer": true
        }
      ],
      "condition": {
        "and": [
          {
            "or": [
              "climbing:sport=yes",
              "sport=climbing"
            ]
          },
          "office=",
          "club="
        ]
      }
    },
    {
      "#": "Toproping?",
      "question": {
        "de": "Ist Toprope-Klettern hier möglich?",
        "en": "Is toprope climbing possible here?",
        "nl": "Is het mogelijk om hier te toprope-klimmen?",
        "ja": "ここでtoprope登坂はできますか?"
      },
      "mappings": [
        {
          "if": "climbing:toprope=yes",
          "then": {
            "de": "Toprope-Klettern ist hier möglich",
            "en": "Toprope climbing is possible here",
            "nl": "Toprope-klimmen kan hier",
            "ja": "ここでToprope登坂ができます"
          }
        },
        {
          "if": "climbing:toprope=no",
          "then": {
            "de": "Toprope-Climbing ist hier nicht möglich",
            "en": "Toprope climbing is not possible here",
            "nl": "Toprope-klimmen kan hier niet",
            "ja": "ここではToprope登坂はできません"
          }
        },
        {
          "if": "climbing:toprope~*",
          "then": {
            "de": "Hier gibt es {climbing:toprope} Toprope-Routen",
            "en": "There are {climbing:toprope} toprope routes",
            "nl": "Er zijn hier {climbing:toprope} toprope routes",
            "ja": "{climbing:toprope} 登坂ルートがある"
          },
          "hideInAnswer": true
        }
      ],
      "condition": {
        "and": [
          {
            "or": [
              "climbing:sport=yes",
              "sport=climbing"
            ]
          },
          "office=",
          "club="
        ]
      }
    },
    {
      "#": "Sportclimbing?",
      "question": {
        "de": "Ist hier Sportklettern möglich (feste Ankerpunkte)?",
        "en": "Is sport climbing possible here on fixed anchors?",
        "nl": "Is het mogelijk om hier te sportklimmen/voorklimmen op reeds aangebrachte haken?",
        "ja": "ここでは固定アンカー式のスポーツクライミングはできますか?"
      },
      "mappings": [
        {
          "if": "climbing:sport=yes",
          "then": {
            "de": "Sportklettern ist hier möglich",
            "en": "Sport climbing is possible here",
            "nl": "Sportklimmen/voorklimmen kan hier",
            "ru": "Здесь можно заняться спортивным скалолазанием",
            "ja": "ここでスポーツクライミングができます"
          }
        },
        {
          "if": "climbing:sport=no",
          "then": {
            "de": "Sportklettern ist hier nicht möglich",
            "en": "Sport climbing is not possible here",
            "nl": "Sportklimmen/voorklimmen kan hier niet",
            "ru": "Спортивное скалолазание здесь невозможно",
            "ja": "ここではスポーツクライミングはできません"
          }
        },
        {
          "if": "climbing:sport~*",
          "then": {
            "de": "Hier gibt es {climbing:sport} Sportkletter-Routen",
            "en": "There are {climbing:sport} sport climbing routes",
            "nl": "Er zijn hier {climbing:sport} sportklimroutes/voorklimroutes",
            "ja": "スポーツクライミングの {climbing:sport} ルートがある"
          },
          "hideInAnswer": true
        }
      ],
      "condition": {
        "and": [
          {
            "or": [
              "climbing:sport=yes",
              "sport=climbing"
            ]
          },
          "office=",
          "club="
        ]
      }
    },
    {
      "#": "Traditional climbing?",
      "question": {
        "de": "Ist hier traditionelles Klettern möglich (eigene Sicherung z.B. mit Klemmkleilen)?",
        "en": "Is traditional climbing possible here (using own gear e.g. chocks)?",
        "nl": "Is het mogelijk om hier traditioneel te klimmen? <br/><span class='subtle'>(Dit is klimmen met klemblokjes en friends)</span>",
        "ja": "伝統的な登山はここで可能ですか(例えば、チョックのような独自のギアを使用して)？"
      },
      "mappings": [
        {
          "if": "climbing:traditional=yes",
          "then": {
            "de": "Traditionelles Klettern ist hier möglich",
            "en": "Traditional climbing is possible here",
            "nl": "Traditioneel klimmen kan hier",
            "ja": "ここでは伝統的な登山が可能です"
          }
        },
        {
          "if": "climbing:traditional=no",
          "then": {
            "de": "Traditionelles Klettern ist hier nicht möglich",
            "en": "Traditional climbing is not possible here",
            "nl": "Traditioneel klimmen kan hier niet",
            "ja": "伝統的な登山はここではできない"
          }
        },
        {
          "if": "climbing:traditional~*",
          "then": {
            "de": "Hier gibt es {climbing:traditional} Routen für traditionelles Klettern",
            "en": "There are {climbing:traditional} traditional climbing routes",
            "nl": "Er zijn hier {climbing:traditional} traditionele klimroutes",
            "ja": "{climbing:traditional} の伝統的な登山ルートがある"
          },
          "hideInAnswer": true
        }
      ],
      "condition": {
        "and": [
          {
            "or": [
              "climbing:sport=yes",
              "sport=climbing"
            ]
          },
          "office=",
          "club="
        ]
      }
    },
    {
      "#": "Speed climbing?",
      "question": {
        "de": "Gibt es hier eine Speedkletter-Wand?",
        "en": "Is there a speed climbing wall?",
        "nl": "Is er een snelklimmuur (speed climbing)?",
        "ja": "スピードクライミングウォールはありますか?"
      },
      "condition": {
        "and": [
          "leisure=sports_centre",
          {
            "or": [
              "climbing:sport=yes",
              "sport=climbing"
            ]
          },
          "office=",
          "club="
        ]
      },
      "mappings": [
        {
          "if": "climbing:speed=yes",
          "then": {
            "de": "Hier gibt es eine Speedkletter-Wand",
            "en": "There is a speed climbing wall",
            "nl": "Er is een snelklimmuur voor speed climbing",
            "ja": "スピードクライミングウォールがある"
          }
        },
        {
          "if": "climbing:speed=no",
          "then": {
            "de": "Hier gibt es keine Speedkletter-Wand",
            "en": "There is no speed climbing wall",
            "nl": "Er is geen snelklimmuur voor speed climbing",
            "ja": "スピードクライミングウォールがない"
          }
        },
        {
          "if": "climbing:speed~*",
          "then": {
            "de": "Hier gibt es {climbing:speed} Speedkletter-Routen",
            "en": "There are {climbing:speed} speed climbing walls",
            "nl": "Er zijn hier {climbing:speed} snelklimmuren",
            "ja": "{climbing:speed} のスピードクライミングウォールがある"
          },
          "hideInAnswer": true
        }
      ]
    }
  ],
  "overrideAll": {
    "titleIcons": [
      {
        "render": "<div style='display:block ruby;' class='m-1 '><img src='./assets/themes/climbing/height.svg' style='width:2rem; height:2rem'/>{climbing:length}m</div>",
        "freeform": {
          "key": "climbing:length"
        }
      },
      {
        "render": "<div style='display:block ruby;' class='m-1 '><img src='./assets/themes/climbing/carabiner.svg' style='width:2rem; height:2rem'/>{climbing:bolted}</div>",
        "freeform": {
          "key": "climbing:bolted"
        },
        "mappings": [
          {
            "if": "climbing:bolted=yes",
            "then": "<img src='./assets/themes/climbing/carabiner.svg' style='width:2rem; height:2rem'/>"
          }
        ]
      },
      "defaults"
    ],
    "+calculatedTags": [
      "_embedding_feature_properties=feat.overlapWith('climbing').map(f => f.feat.properties).filter(p => p !== undefined).map(p => {return{access: p.access, id: p.id, name: p.name, climbing: p.climbing, 'access:description': p['access:description']}})",
      "_embedding_features_with_access=JSON.parse(feat.properties._embedding_feature_properties ?? '[]').filter(p => p.access !== undefined)[0]",
      "_embedding_feature_with_rock=JSON.parse(feat.properties._embedding_feature_properties ?? '[]').filter(p => p.rock !== undefined)[0] ?? '{}'",
      "_embedding_features_with_rock:rock=JSON.parse(feat.properties._embedding_feature_with_rock ?? '{}')?.rock",
      "_embedding_features_with_rock:id=JSON.parse(feat.properties._embedding_feature_with_rock ?? '{}')?.id",
      "_embedding_feature:access=JSON.parse(feat.properties._embedding_features_with_access ?? '{}').access",
      "_embedding_feature:access:description=JSON.parse(feat.properties._embedding_features_with_access ?? '{}')['access:description']",
      "_embedding_feature:id=JSON.parse(feat.properties._embedding_features_with_access ?? '{}').id"
    ]
  }
}