    import * as L from '@mapgis/leaflet'
    // @link https://github.com/Raruto/leaflet-rotate
    /**
     * L.DivOverlay
     */
    const divOverlayProto = L.extend({}, L.DivOverlay.prototype)

    L.DivOverlay.include({
      getEvents() {
        return L.extend(divOverlayProto.getEvents.call(this), {
          rotate: this._updatePosition
        })
      },

      _updatePosition() {
        if (!this._map) {
          return
        }

        let pos = this._map.latLngToLayerPoint(this._latlng)
        let offset = L.point(this.options.offset)
        const anchor = this._getAnchor()

        if (this._zoomAnimated) {
          // TODO: use divOverlayProto._updatePosition
          if (this._map._rotate) {
            pos = this._map.rotatedPointToMapPanePoint(pos)
          }
          L.DomUtil.setPosition(this._container, pos.add(anchor))
        } else {
          offset = offset.add(pos).add(anchor)
        }

        const bottom = (this._containerBottom = -offset.y)
        const left = (this._containerLeft =
          -Math.round(this._containerWidth / 2) + offset.x)

        // bottom position the popup in case the height of the popup changes (images loading etc)
        this._container.style.bottom = `${bottom}px`
        this._container.style.left = `${left}px`
      }
    })